您可以像上面指出的那样循环遍历数组,也可以像这样使用array_walk_recursive:
$title_array = array(); array_walk_recursive($input_array, 'find_titles'); function find_titles($value, $key) { global $title_array; if ($key == 'title') { $title_array[] = $value; } }
如果您不确定输入数组的结构将是什么(即您要查找的键的深度是多少嵌套),这可能是一个更好的解决方案。
要在$ results中输出每个产品的标题:
foreach ($results as $result) { echo $result['product']['title']; }
考虑使用 array_walk_recursive
工作实例
<?php $a = array("hai", array("ha"=>1, "hai"=>2, array("a"=>1, "b"=>2))); function test($item, $key) { echo "$key holds $item\n"; } array_walk_recursive($a, 'test'); 0 holds hai ha holds 1 hai holds 2 a holds 1 b holds 2
如果您只对标题感兴趣
考虑使用 的foreach
foreach($results['item'] as $result) { echo $result['product']['title']; }
这应该工作:
foreach( $results as $result) foreach( $result['product'] as $product) echo $product['title'];