Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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-建议的最大数组大小-备选方案?_Php_Json - Fatal编程技术网

PHP-建议的最大数组大小-备选方案?

PHP-建议的最大数组大小-备选方案?,php,json,Php,Json,我正在写一个谷歌地图页面,大约有160条记录,每个位置1条。 原始地图数据保存在sql表中。因为有相当多的文本 每条记录最多可包含900个字符 我每月都会过滤这些数据,这样地图上可能会有20-30条记录显示为标记。 我希望用户在月份之间快速切换,以便将数据保持在本地(而不是运行sql查询) 将所有这些数据从SQL(比如150k)读入php数组是一个好主意(比如,坐在ram中)还是无关紧要 Json更好吗?(以前从未尝试过此操作)。将数据加载到内存将仅对每个请求有效,10个请求=10倍数据加载。如

我正在写一个谷歌地图页面,大约有160条记录,每个位置1条。 原始地图数据保存在sql表中。因为有相当多的文本 每条记录最多可包含900个字符

我每月都会过滤这些数据,这样地图上可能会有20-30条记录显示为标记。 我希望用户在月份之间快速切换,以便将数据保持在本地(而不是运行sql查询)

将所有这些数据从SQL(比如150k)读入php数组是一个好主意(比如,坐在ram中)还是无关紧要


Json更好吗?(以前从未尝试过此操作)。

将数据加载到内存将仅对每个请求有效,10个请求=10倍数据加载。如果你有很多数据,看起来像是这样,那么把所有数据都加载到内存中是个坏主意。您将浪费内存并增加数据库的负载(特别是当许多用户同时使用它时)

您最好使用AJAX,只请求您需要的数据,并在用户端缓存它(存储在哈希表中)。您将获得巨大的性能增益。如果您不熟悉AJAX和json,请查看JavaScript框架-或。它们都是很棒的框架,我个人更喜欢Mootools;-)

然而,如果你仍然想按自己的方式去做。必须这样做:

  • 将数据从数据库加载到对象数组($data)
  • 对数据进行编码json_Encode($data)
  • 将编码数据存储到页面上的某个隐藏输入元素
  • 在页面上,使用JavaScript从隐藏的输入中获取存储的数据,对其进行解码并处理

  • 通过这种方式,负载将转移到用户的浏览器上。

    您所说的“保持数据本地”是什么意思?我认为PHP不会给您带来问题-数据量可能有点大,需要客户端浏览器处理-您必须将其全部作为JavaScript变量输出。。。我会研究Ajax解决方案来解决这个问题。@Matti我想他的意思是在页面中拥有所有可用的数据,而不必提出任何额外的请求。