如何从多维数组组索引输出数据


How to output data from a multi-dimensional array group index

我正在尝试从数组父组索引之一或使用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 ) 
    )
)

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

<?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>';
}
}
?>

不确定我是否完全理解您的问题,但是如果您只想从给定索引中读取所有值,则可以执行以下操作:

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 ;
...

使用 array_multisort() 函数有关更多详细信息,请阅读此处