1

以下の配列があり、idにアクセスする必要がありますが、動作させることができません。アレイの第3レベルにアクセスする方法がわかりません。

Array
(
[0] => Array
    (
        [0] => Array
            (
                [id] => 1
            )

    )

[1] => Array
    (
        [0] => Array
            (
                [id] => 2
            )

    )

[2] => Array
    (
        [0] => Array
            (
                [id] => 3
            )

    )

[3] => Array
    (
    )

[4] => Array
    (
        [0] => Array
            (
                [id] => 5
            )

    )
}
4

6 に答える 6

4

idあなたの例では、それは常にkey of 0;とは別の配列にあるように見えます。

1、ハードコード:

foreach($array as $value){
    echo isset($value[0]['id']) ? $value[0]['id'] : '';
}

2、2番目の配列を反復処理します。

foreach($array as $key=>$value){
    if(is_array($value)){
        foreach($value as $v){
            if(isset($v['id'])){
                echo $v['id'];
            }
        }
    }
}
于 2013-03-08T15:52:38.217 に答える
1

次の方法でそれを行います。$a[0][0]["id"]

于 2013-03-08T15:51:39.930 に答える
0

あなたはこのようにそれを行うことができます:

echo $array[0][0]['id'];

そしてそれらすべてを印刷するには:

foreach ($array as $arr) {
   echo $arr[0]['id'];
}

それでうまくいくはずです。

于 2013-03-08T15:50:50.800 に答える
0

初め:

$multiArr = array ( [0] => array ( [0] => array ( ['id'] => 1 )));

と:

echo $multiArr[0][0]['id']; //or $multiArr['0']['0']['id']
于 2013-03-08T15:52:19.877 に答える
0

やってみましたArray[index of array 1][index of array 2][index of array 3]か?

于 2013-03-08T15:52:24.290 に答える
0
for ($i=0;$i<count($inputarray);$i++) {
    echo "ID=".$inputarray[$i][0]['id']."<br />";
}

メイン配列をループします。サブ配列は常に要素要素0であり、3番目のレベルは常に要素IDであるため、それをプルします。

これで、サブ配列に複数の要素が含まれている場合、常に同じ場所にあることがわかっている場合は、ダブルループまたは直接参照する必要があります。

于 2013-03-08T15:53:42.520 に答える