2016-06-24 23 views
0

ich dieses ArrayEcho ein mehrdimensionales Array aus

[result] => Array 
    (
     [achievements] => Array 
      (
       [0] => Array 
        (
         [id] => 92 
         [achievements] => Array 
          (
           [0] => Array 
            (
             [id] => 6 

             [rewardItems] => Array 
              (
              ) 
        [49] => Array 
            (
             [id] => 1956 

             [rewardItems] => Array 
              (
               [0] => Array 
                (

                 [name] => inv_misc_book_11 

Ich brauche die [name] (wenn es eine gibt) aus allen [rewardItems] Arrays.

Ich habe es so versucht, aber es gibt keine Ergebnisse, was mache ich falsch?

foreach ($r['result']['achievements']['0']['achievements']['rewardItems'] as $item) echo ' 

', $item['name'], '. 

echo ' 
+0

'if (isset ($ item [0] ['name'])) {echo $ item [0] ['name']; } ' –

Antwort

0

Sie haben sich einige verschachtelte Schleifen in dieser Struktur durchlaufen.

<?php 
$r = array(
'result' => Array 
    (
     'achievements' => Array 
      (
      0 => Array 
       (
        'id' => 92, 
        'achievements' => Array 
         (
         0 => Array 
          (
           'id' => 6, 

           'rewardItems' => Array 
            (
           ) 
          ), 
         49 => Array 
          (
           'id' => 1956, 
           'rewardItems' => Array 
            (
             0 => Array 
              (
               'name' => 'inv_misc_book_11' 
             ) 
           ) 
          ) 
         ) 
       ) 
     ) 
    ) 
); 

foreach ($r['result']['achievements']['0']['achievements'] as $achievement){ 
    if(!empty($achievement['rewardItems'])){ 
    foreach ($achievement['rewardItems'] as $item){ 
     echo "$item[name]<br/>".PHP_EOL; 
    } 
    } 
} 
+1

Vielen Dank! Das funktioniert perfekt! – Hertus

Verwandte Themen