Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php json编码_Php_Json - Fatal编程技术网

php json编码

php json编码,php,json,Php,Json,下面的输出来自php json_encode。我们在这里看到的0849是两次。因为javascript只使用sn来获取值,所以我们需要“0”值。主要问题是执行速度。如果800 kb的数据可能会减少到400 kb {"success":"true","total":968,"data":[{"0":"0849","sn":"0849" }] 如果没有解决方案,我必须制作一个脚本以json_编码进行过滤,因此不需要两次数据传输。0项是因为您的数组包含一个0项!我猜您是在从数据库中检索它,使用类似于

下面的输出来自php json_encode。我们在这里看到的0849是两次。因为javascript只使用sn来获取值,所以我们需要“0”值。主要问题是执行速度。如果800 kb的数据可能会减少到400 kb

{"success":"true","total":968,"data":[{"0":"0849","sn":"0849" }]

如果没有解决方案,我必须制作一个脚本以json_编码进行过滤,因此不需要两次数据传输。

0项是因为您的数组包含一个0项!我猜您是在从数据库中检索它,使用类似于
mysql\u fetch\u array
;在这种情况下,您可以简单地更改为使用
mysql\u-fetch\u-assoc
(它返回一个直接的关联数组),或者将
mysql\u-assoc
作为
mysql\u-fetch\u-array
的第二个参数。如果您使用的是其他DB源,则存在类似的函数

如果它不是来自数据库(或者你需要其他地方的数字键),你总是可以过滤掉这些数值。您可以通过将一组数组*函数串在一起,或仅使用foreach循环来实现这一点:

foreach ($data as $k => $v) { if (is_int($k)) { unset($data[$k]); } }

0项是因为数组包含0项!我猜您是在从数据库中检索它,使用类似于
mysql\u fetch\u array
;在这种情况下,您可以简单地更改为使用
mysql\u-fetch\u-assoc
(它返回一个直接的关联数组),或者将
mysql\u-assoc
作为
mysql\u-fetch\u-array
的第二个参数。如果您使用的是其他DB源,则存在类似的函数

如果它不是来自数据库(或者你需要其他地方的数字键),你总是可以过滤掉这些数值。您可以通过将一组数组*函数串在一起,或仅使用foreach循环来实现这一点:

foreach ($data as $k => $v) { if (is_int($k)) { unset($data[$k]); } }

您可能需要显示更多的代码-即,是什么生成了传递给
json\u encode
的对象。您可能需要显示更多的代码-即,是什么生成了传递给
json\u encode
的对象。我得到了完全相同的奇怪json输出。。。所以我想你的答案是对的!谢谢:)是的,谢谢,我解决了。尽管有第二次不同。这对我很重要。从328.4KB到158.2KB。需要进一步优化…我得到了完全相同的奇怪json输出。。。所以我想你的答案是对的!谢谢:)是的,谢谢,我解决了。尽管有第二次不同。这对我很重要。从328.4KB到158.2KB。需要优化更多。。。。