哪种数组语法更有效?

时间:2013-04-16 17:10:03

标签: php arrays syntax performance

我没有找到类似的问题

1

$form['level1']['level2'][] = array(
    'data' => 'some data',
    'type' => 'some type',
);
//etc

2

 $form = array(
   'level1' => array(
      'level2' => array(
         array(
            'data' => 'some data',
            'type' => 'some type',
         ), 
         //etc
       ),
    ),
 );

2 个答案:

答案 0 :(得分:2)

这绝对是微观优化......

Test 1: 9.0906839370728
Test 2: 8.5538339614868

但第二个更有效率。例如,[]较慢,因为它首先要检查最后一个索引等... 此外,第一个必须首先检查数组是否已经存在(在每个维度),而在第二种情况下,PHP很清楚有一个新数组。

P.s。:但我真的不知道,因为第一个解析比第二个更少。我没有测量的解析器时间...(我不认为现在经常重新创建数组?)

答案 1 :(得分:-1)

2比1更具可读性。

另外,如果你要在没有警告的情况下进行游戏,那么1将是:

$arr = array();
$arr["level1"] = array();
$arr["level1"]["level2"] = array();
//... etc