PHP の json_decode 関数には「深さ」パラメーターがあり、再帰の深さを指定できます。しかし、次のコード:
test = array(
'name' => 'sean',
'dob' => '12-20',
'parents' => array(
'father' => 'tommy',
'mother' => 'darcy'
)
);
foreach(range(1, 3) as $depth) {
echo "-----------------\n depth: $depth\n";
print_r(json_decode(json_encode($test), true, $depth));
}
次の出力が生成されます。
-----------------
depth: 1
-----------------
depth: 2
-----------------
depth: 3
Array
(
[name] => sean
[dob] => 12-20
[parents] => Array
(
[father] => tommy
[mother] => darcy
)
)
私が期待するのは、深さ 1 で「名前」と「生年月日」を表示し、深さ 2 で親も表示することです。深さ 1 または 2 で何も表示されない理由がわかりません。
私が理解していないことを誰かに説明してもらえますか?