0

私は、print_rがこのように見えるネストされた配列を持っています-

Array
(
    [keyId] => Array
        (
            [hostname] => 192.168.1.127
            [results] => Array
                (
                    [1] => false
                    [2] => false
                    [3] => false
                )

            [sessionIDs] => Array
                (
                    [0] => ed9f79e4-2640-4089-ba0e-79bec15cb25b
                )

        )

「結果」配列の処理(キーと値の出力)をしたいと思います。どうすればいいですか?

array_keys 関数を使用して最初にすべてのキーを取得しようとしています。キー名が「結果」の場合は、配列を処理します。しかし、問題はarray_keysが「結果」に到達していないことです

4

4 に答える 4

3

php のforeachループが必要です。

foreach($arr['keyId']['results'] as $key => $value) {
   //$key contains key and $value contains values.
}
于 2012-04-17T11:00:18.703 に答える
2

必要な配列は$array['keyID']['results']. そこから、、、で値にアクセス$array['keyID']['results'][1]$array['keyID']['results'][2]ます$array['keyID']['results'][3]

ループするには、次のようにします。

foreach($array['keyId']['results'] as $key => $value) {
   echo $key . ' ' . $value;
}

また

for ($i = 1; $i <= 3; i++)
{
    echo $i . ' ' . $array['keyID']['results'][i];
}
于 2012-04-17T11:01:33.330 に答える
1
foreach($array['keyId']['results'] as $k => $v) {
    // use $k and $v
}
于 2012-04-17T10:58:30.070 に答える
1

配列をナビゲートする1​​つの方法はこれです。

//Assuming, your main array is $array
foreach($array as $value) { //iterate over each item

   if(isset($value['results']) && count($value['results'])) { 
   // ^ check if results is present

       //Now that we know results exists, lets use foreach loop again to get the values
       foreach($value['result'] as $k => $v) {
           //The boolean values are now accessible with $v
       }
   }
}
于 2012-04-17T10:59:17.310 に答える