У меня есть тезисы два кода, чтобы сделать JSON из массива в PHP:Что отличается от 2 JSON с PHP
Код 1
$array_1 = array("A","B","C");
$array_2 = array("D","E","F");
echo json_encode(array('array_0'=> array('array_1'=>$array_1,'array_2'=>$array_2)));
Выход:
{
"array_0":
{
"array_1": ["A", "B", "C"],
"array_2": ["D", "E", "F"]
}
}
Code 2
$A = array('A','B','C');
$B = array('array_1' => $A);
$C = array('D','F','E');
$D = array('array_2' => $C);
$E = array($B, $D);
$F = array('array_0' => $E);
echo json_encode($F);
Выход:
{
"array_0": [
{
"array_1": ["A", "B", "C"]
},
{
"array_2": ["D", "F", "E"]
}
]
}
Почему существует разница между 2 выхода? Какой из них правильный?
Спасибо!
Что вы подразумеваете под "c дый правильный "? Оба правильные. Это две разные структуры. Почему бы «правильно» и «неправильно»? –
Почему это разные структуры? Я думаю, что код 2 такой же? – Ivan
«Код 2» - это не то же самое. В «коде 2» вы выполняете 'array ($ B, $ D)'. Вы создаете массив из 2 массивов. Это отличается от «кода 1». Что вы должны делать: '$ B ['array_2'] = $ C; $ F = массив ('array_0' => $ B); '. Избавьтесь от '$ D' и' $ E'. Вы хотите добавить 'array_1' * и *' array_2' в * тот же самый массив, не добавляя их в свои собственные массивы. –