应该使用array_push()通过PHP中的迭代方法构建数组吗?

时间:2014-05-21 05:52:50

标签: php arrays array-push

如果我想构建一个数组对的数组,这些数据遵循$n => myFunction($n)这样的模式,我想我想做这样的事情:

$myArray = array();

foreach ($n as $key) {
    $new_data = array($key => myFunction($key));
    array_push($myArray, $new_data);
}

但是,我听说开发人员批评了array_push()函数,所以我想知道是否有更好的方法来解决这个问题。

1 个答案:

答案 0 :(得分:1)

本身并不错,但PHP中的函数调用相对较慢,因此如果您在代码中避免使用array_push,则可能会注意到效果。我个人总是使用[]符号,主要是因为我觉得它更干净,但它也更快。

$myArray[] = $new_data;

即使documentation of array_push提到这个替代方案也更快:

  

注意:如果您使用array_push()向阵列添加一个元素,最好使用$ array [] =   因为这样就没有调用函数的开销。

array_push还有优势,您可以使用它将多个元素推送到数组:

array_push($myArray, 'value1', 'value2', 'value3');

所以它有它的用途,但是为了像你一样一次添加单个元素,$myArray[] = ...的较短符号更快。