2017-09-16 16 views
0

我从服务中获得以下数组,但正常的foreach无法正常工作。这里是我的代码:在PHP中循环使用多维数组,无法正常工作

Array 
(
    [record] => Array 
     (
      [0] => Array 
       (
        [name] => Jhon 
        [direction] => street 1 
        [last_name] => ops 

       ) 

      ... 

     ) 

) 

和我的循环是

foreach ($array as $key) { 
     echo "<h1>".$key["name"]."</h1>"; 
     echo '<pre>'; var_dump($key); 
    } 

任何想法?

回答

0

您需要使用多个foreach

//echo '<pre>'; 
foreach ($array as $records) { 
    foreach ($records as $record) { 
     foreach ($record as $key => $value) { 
      printf('%10s: %s', $key, $value); 
     } 
    } 
} 
//echo '</pre>'; 

例1

$record = [ 'name'=>'Jhon', 'direction'=>'street 1', 'last_name'=>'ops' ]; 
$records['record'] = $record; 
$array[] = $records; 


//echo '<pre>'; 

//print_r($array); 

foreach ($array as $records) { 
    foreach ($records as $record) { 
     foreach ($record as $key => $value) { 
      printf('%10s: %s%s', $key, $value, PHP_EOL); 
     } 
    } 
} 
//echo '</pre>'; 

例2

$record = [ 'name'=>'Jhon', 'direction'=>'street 1', 'last_name'=>'ops' ]; 
$records['record'] = $record; 
$array[] = $records; 


foreach ($array as $records) { 
    foreach ($records as $record) { 
     echo 'Name: '. $record['name'] . '<br>'; 
    } 
} 
+0

您好,感谢您的回答,看看如果我使用的例2,显示:致命错误:未捕获错误:不能使用Customer类型的对象作为 – Markapp

+0

中的数组只需将变量的名称更改为其他名称即可。 – Karkouch

+0

好的,完美的,但它的范妮只是展示第一张唱片,你知道为什么吗? – Markapp