2013-10-03 73 views
0

我想通过使用foreach循环来获取数组父索引或 第一级'1006'之一的值,但没有太大的运气。我可以在这里使用一些帮助来获取给定数组组的子数据或子数据。如何从多维数组组索引输出数据

Array ( 
    [1004] => Array ( 
     [0] => Array ([od_id] => 1004 [pd_id] => 42 [pd_name] => Red Hat) 
     [1] => Array ([od_id] => 1004 [pd_id] => 33 [pd_name] => Green Hat) 
     [2] => Array ([od_id] => 1004 [pd_id] => 44 [pd_name] => Blue Hat) 
    ) 
    [1006] => Array ( 
     [0] => Array ([od_id] => 1006 [pd_id] => 33 [pd_name] => Green Hat) 
     [1] => Array ([od_id] => 1006 [pd_id] => 44 [pd_name] => Blue Hat) 
     [2] => Array ([od_id] => 1006 [pd_id] => 41 [pd_name] => Pink Hat) 
    ) 
    [1007] => Array (
     [0] => Array ([od_id] => 1007 [pd_id] => 29 [pd_name] => Purple Hat) 
     [1] => Array ([od_id] => 1007 [pd_id] => 24 [pd_name] => Orange Hat) 
     [2] => Array ([od_id] => 1007 [pd_id] => 44 [pd_name] => Blue Hat) 
    ) 
) 
+0

我宁愿有结果分配给像

$od_id[] .= 'the array results'
而不是字符串的新数组。感谢您的输入。 –

回答

0

不知道如果我完全理解你的问题,但如果你只是想从一个给定的索引读取所有值,你可以这样做以下:

foreach ($array[1006] as $arr) { 
    foreach ($arr as $k=>$v) { 
     echo "$k: $v ; "; 
    } 
    echo "\n"; 
} 

,它将打印:

od_id: 1006 ; pd_id: 33 ; pd_name: Green Hat ; 
od_id: 1006 ; pd_id: 44 ; pd_name: Blue Hat ; 
... 
1

我想你想要的东西,象下面这样: -

<?php 
$s=array ("1004" => array ( " 0" => array ("od_id" => 1004 ,"pd_id"=> 42 ,"pd_name" => 'Red Hat') ,"1" => array ("od_id" => 1004, "pd_id" => 33, "pd_name" => 'Green Hat'),"2" => array ("od_id" => 1004,"pd_id" => 44,"pd_name" => 'Blue Hat'))); 
foreach($s as $a=>$b) 
{ 
foreach($b as $c=>$d) 
{ 
foreach($d as $e=>$f){ 
echo $f; 
} 
echo'<br>'; 
} 
} 
?> 
0

用在array_multisort()进行更详细的功能 read here