2

array-indexを使用して配列要素の値にアクセスするにはどうすればよいですか?

<?
$json = '{
    "dynamic":{
       "pageCount":"12",
       "tableCount":"1"
    }
}';

$arr = json_decode($json, true);

echo $arr['dynamic']['pageCount']; // working
echo $arr[0]['pageCount']; // not working
?>

'dynamic'に何があるのか​​わからないので、pageCount値に動的にアクセスしたいですか?

4

2 に答える 2

13

array_valuesはあなたが探している関数です

例:

<?php
$json = '{
    "dynamic":{
       "pageCount":"12",
       "tableCount":"1"
    }
}';

$arr = json_decode($json, true);
echo $arr['dynamic']['pageCount']; // working

$arr = array_values($arr);
echo $arr[0]['pageCount']; // NOW working

?>
于 2012-09-05T08:31:38.950 に答える
1
$arr = json_decode($json, true);
foreach ($arr as $key => $value) {
    if (isset($value['pageCount'])) {
        //do something with the page count
    }
}

構造が常に単一のネストされたJSオブジェクトである場合:

$obj = current($arr);
echo $obj['pageCount'];
于 2012-09-05T08:29:52.417 に答える