2009-09-09 10 views
0

Voici mon tableau:éléments du tableau en mouvement autour

[2555] => Array 
     (
      [0] => stdClass Object 
       (
        [meta_id] => 1246 
        [post_id] => 2555 
        [meta_key] => event_date 
        [meta_value] => Sept 24th - 29th 
       ) 

      [1] => stdClass Object 
       (
        [meta_id] => 1245 
        [post_id] => 2555 
        [meta_key] => _edit_last 
        [meta_value] => 1 
       ) 

      [2] => stdClass Object 
       (
        [meta_id] => 1244 
        [post_id] => 2555 
        [meta_key] => _edit_lock 
        [meta_value] => 1252519100 
       ) 

      [3] => stdClass Object 
       (
        [meta_id] => 1251 
        [post_id] => 2555 
        [meta_key] => articleimg 
        [meta_value] => /image1.jpg 
       ) 

     ) 

    [2038] => Array 
     (
      [0] => stdClass Object 
       (
        [meta_id] => 462 
        [post_id] => 2038 
        [meta_key] => articleimg 
        [meta_value] => /image2.jpg 
       ) 

      [1] => stdClass Object 
       (
        [meta_id] => 463 
        [post_id] => 2038 
        [meta_key] => _edit_lock 
        [meta_value] => 1251846014 
       ) 

      [2] => stdClass Object 
       (
        [meta_id] => 464 
        [post_id] => 2038 
        [meta_key] => _edit_last 
        [meta_value] => 1 
       ) 

      [3] => stdClass Object 
       (
        [meta_id] => 467 
        [post_id] => 2038 
        [meta_key] => event_date 
        [meta_value] => Sept 15 
       ) 

     ) 

Je suis en train d'obtenir ce dans un tableau qui ressemble à:

[2555] (
    [event_date] => Sept 24th - 29th 
    [articleimg] => /image1.jpg 
) 

etc... 

J'ai écrit quelques foreach méchant et pour les boucles et ma tête nage. Est-ce que je manque un moyen simple de faire ceci?

Répondre

2

Essayez quelque chose comme ceci:

foreach ($array as $key => $objs) { 
    $tmp = array(); 
    foreach ($objs as $obj) { 
     if ($obj->meta_key[0] !== '_') { 
      $tmp[$obj->meta_key] = $obj->meta_value; 
     } 
    } 
    $array[$key] = $tmp; 
} 

Cela va aplatir le tableau d'objets à un tableau de paires clé/valeur avec meta_key valeur de l'objet comme la clé et meta_value valeur de l'objet comme valeur si la valeur meta_key ne commence pas par _.

+1

Incroyable. Je m'incline devant toi, maître du tableau. Merci. – jmccartie

Questions connexes