0
现在我知道这个话题有一些相关的问题,但这有点独特。PHP:阵列深度将如何影响性能?
我有两个阵列结构:
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()
并在POST ajax请求中使用?浅层深度数组是否会更快,或者更好的结构化数组在大小方面会更好?
对不起,但长期的问题,我想清楚地表达我的问题 – 2010-10-13 14:34:06
你是什么意思? JSON字符串的长度?这里是一个例子:http://codepad.org/fIka8aFq。您应该选择在服务器和客户端更容易处理的结构。例如,如果你想要遍历所有的国家,第一个结构是好的。但是,如果你想获得特定的国家,比如所有对'stat1'有价值的国家,那么第二个国家更合适。你可能甚至不需要嵌套数组,'stat1'=> array('United States'=> 50,'Ireland'=> 40,'Autralia'=> 108)'也可能不错。 – 2010-10-13 15:26:53
如果两者之间的差异对性能有显着影响,我会很惊讶,它们是最佳的微型优化。你可能会更好 - 并且可以获得更多的速度 - 以最简单/高效的格式为使用该json编码数据的代码提供数据。 – Wrikken 2010-10-13 16:30:17