1. When array is a continuous array starting from 0, the result of Json_encode is a string enclosed by []
And when array is not starting from 0 or discontinuous arrays, the result of Json_encode is a string of key-value pattern enclosed by {}
$test = Array ();
$test [] = 1;
$test [] = 1;
$test [] = 1;
echo Json_encode ($test);
Results:
[1,1,1]
$test = Array ();
$test [] = 1;
$test [] = 1;
$test [] = 1;
unset ($test [0]);
echo Json_encode ($test);
Results:
{"1": 1, "2": 1}
2. When the string is [1,1,1] This mode, the Json_decode default parsing result is an array,
When the string is {"1": 1, "2": 1} This mode, the result of Json_decode default parsing is an object, you can set its second argument to true to force it to return the array
3. This occurs because PHP cannot differentiate between one-dimensional and two-dimensional arrays because it is recommended to set the second parameter to TRUE when using JSON encoding
PHP json_encode values in curly braces and curly braces