代码之家  ›  专栏  ›  技术社区  ›  Etienne Marais

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

  •  0
  • Etienne Marais  · 技术社区  · 14 年前

    我有两个数组结构:

    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_encode() 在后ajax请求中使用?浅层深度阵列,加上它的零点打击会更快还是结构更好的阵列在尺寸方面会更好?

    1 回复  |  直到 13 年前
        1
  •  1
  •   Etienne Marais    14 年前

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

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

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

    我还没有测试加载差异中的微时间,但是对于用户来说,0.0024微秒的加载.gif图像(我是为了参数而随机拍摄的)并不会对可用性造成很大的影响。谢谢大家的意见