php json编码

时间:2010-05-22 04:34:36

标签: php json

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

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

如果没有解决方案,我必须在json_encode中进行过滤,因此不需要两次数据传输。

1 个答案:

答案 0 :(得分:4)

0条目是因为您的数组包含0条目!我猜你正在从数据库中检索它,使用像mysql_fetch_array这样的东西;在这种情况下,您只需更改为使用mysql_fetch_assoc(返回直接关联数组),或将MYSQL_ASSOC作为第二个参数传递给mysql_fetch_array。如果您正在使用其他数据库源,则存在类似的功能。

如果它不是来自数据库(或者你需要其他地方的数字键),你总是可以过滤掉数值。您可以通过将一堆array_ *函数串联在一起,或者只使用foreach循环来完成此操作:

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