您正在观察此行为,因为您的数组不是顺序的-它具有键
0和
2,但没有
1键。
仅具有数字索引是不够的。
json_enpre仅当您的PHP数组是顺序的时,即如果其键为0、1、2、3,…时,才会将PHP数组编码为JSON数组。
您可以使用
array_values函数顺序地对数组重新索引以获得所需的行为。例如,以下代码在您的用例中可以成功运行:
echo json_enpre(array_values($input)).

您正在观察此行为,因为您的数组不是顺序的-它具有键
0和
2,但没有
1键。
仅具有数字索引是不够的。
json_enpre仅当您的PHP数组是顺序的时,即如果其键为0、1、2、3,…时,才会将PHP数组编码为JSON数组。
您可以使用
array_values函数顺序地对数组重新索引以获得所需的行为。例如,以下代码在您的用例中可以成功运行:
echo json_enpre(array_values($input)).