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 ) 
    )
)
4

3 に答える 3

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>';
}
}
?>
于 2013-10-03T07:02:07.583 に答える
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 ;
...
于 2013-10-03T06:43:06.907 に答える
0

詳細については、array_multisort() 関数を使用してください

于 2013-10-03T07:05:00.507 に答える