什么时候应该在php中定义新数组?

什么时候应该在php中定义新数组?,php,arrays,performance,Php,Arrays,Performance,我想知道哪一个更优化 定义多个分离数组 使用嵌套数组键 以下是一个例子: function arr(){ $arr1 = array(); $arr2 = array(); $arr3 = array(); $arr1['key1'] = 'val1'; $arr2['key1'] = 'val1'; $arr3['key1'] = 'val1'; return array($arr1, $arr2, arr3); } 或 其实我没有

我想知道哪一个更优化

  • 定义多个分离数组

  • 使用嵌套数组键

  • 以下是一个例子:

    function arr(){
        $arr1 = array();
        $arr2 = array();
        $arr3 = array();
    
        $arr1['key1'] = 'val1';
        $arr2['key1'] = 'val1';
        $arr3['key1'] = 'val1';
    
        return array($arr1, $arr2, arr3);
    }
    


    其实我没有任何问题,我只是想知道,哪种方法在php中更快?嵌套键还是分隔数组

    如果有一组固定的键,则在一条语句中创建整个数组,如下所示。这将是最快和最可读的方式

    function arr(){
        return array(
          array('key1' => 'val1'),
          array('key1' => 'val2'),
          array('key1' => 'val3'),
        );
    }
    

    关于这两种方法之间的性能差异,您可以对这两个函数进行基准测试,以了解它们,就像Pamblam所做的那样。但是这个

    请注意,您提供的两个函数将给出不同的结果。@AlexShesterov为什么您认为结果会不同?是的,您的
    数组($arr1,…)
    具有不同的键。您将有
    $arr[0]['key1']
    $arr[1]['key2']
    等……谢谢,它很有用。另外,请删除嵌套数组中的最后一个
    。@Sajad,请注意,PHP允许在最后一个数组元素后面加一个可选的逗号,这取决于是否使用它,并且它不会影响程序的语义。在最后一个元素后面加一个逗号的优点是:在版本控制系统中比较文件版本。如果在数组的末尾添加了一个额外的元素,那么如果使用了逗号,那么所添加的一行将完全不同。如果没有逗号,差异将是添加的行和添加缺少逗号的前一行。
    function arr(){
        return array(
          array('key1' => 'val1'),
          array('key1' => 'val2'),
          array('key1' => 'val3'),
        );
    }