Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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_Ajax_Arrays_Performance_Json - Fatal编程技术网

PHP:数组深度将如何影响性能?

PHP:数组深度将如何影响性能?,php,ajax,arrays,performance,json,Php,Ajax,Arrays,Performance,Json,现在我知道在这个话题上有一些相关的问题,但这有点独特 我有两个数组结构: array( [0] => array( 'stat1' => 50, 'stat2' => 12, 'stat3' => 0, 'country_name' => 'United States' ), [1] => array( 'stat1' => 40,

现在我知道在这个话题上有一些相关的问题,但这有点独特

我有两个数组结构:

array(
    [0] => array(
        'stat1' => 50,
        'stat2' => 12,
        'stat3' => 0,
        'country_name' => 'United States'
        ),
    [1] => array(
        'stat1' => 40,
        'stat2' => 38,
        'stat3' => 15,
        'country_name' => 'Ireland'
        ),
    [2] => array(
        'stat1' => 108,
        'stat2' => 0,
        'stat3' => 122,
        'country_name' => 'Autralia'
        )
    )
第二个呢

array(
    'stat1' => array(
        'countries' => array(
            'United States' => 50,
            'Ireland' => 40,
            'Autralia' => 108,
            )
        )
    ),
'stat2' => array(
        'countries' => array(
            'United States' => 12,
            'Ireland' => 38,
            )
        )
    ),
etc...
如果添加相应国家的城市,第二个阵列甚至可以升级到4级或5级。进一步需要注意的是,第二个数组结构将没有0数据字段(注意,在第二个数组中,澳大利亚不存在,因为它是0),但是第一个数组结构将有一个完整的零。还请注意,第二个结构将有重复项,即“美国”


我的问题是:当这些数组结构是
json\u encode()
并在POST ajax请求中使用时,它们如何比较?浅层深度数组(带有零的重击)会更快吗?或者结构更好的数组在大小方面会更好吗?

我做了一些测试,对于有限的数据集,两者之间的输出数据差异(我将数据输出到文本文件中)实际上是微不足道的

阵列结构1-所有城市和国家数据输出为68kb

阵列结构2-所有城市和国家数据输出为71kb

所以有一点不同,但考虑到数据是JSON格式的,并且在向google visualization geomap API发出的AJAX请求中使用,差异似乎很小


我还没有测试加载差异中的微时间,但是对于用户来说,观看加载.gif图像0.0024微秒(我随机拍摄时间是为了论证)都不会对可用性造成很大影响。Thanx all for you comments

很抱歉问了这么长的问题,我想清楚地表达我的问题,你指的是什么尺寸?JSON字符串的长度?下面是一个例子:。您应该选择更易于在服务器端和客户端处理的结构。例如,如果仍要遍历所有国家/地区,则第一个结构可以。但是,如果您想得到特定的国家,比如所有有
stat1
值的国家,那么第二个更合适。您甚至可能不需要嵌套数组,
'stat1'=>数组('United Stat'=>50,'Ireland'=>40,'Autralia'=>108)
可能也不错。如果这些数组之间的差异对性能有显著影响,我会非常惊讶,它们也是最佳的微观优化。对于将使用json编码的数据的代码,您的情况可能要好得多,并且可以通过以最简单/高效的格式交付数据来获得更快的速度。