哪个更快$ variable []或array_push($ variable,$ newValue)?

时间:2010-12-03 10:23:18

标签: php arrays operators

将数组添加到数组时哪个更快?

  1. $ variable [] = $ newValue;
  2. array_push($变量$ NEWVALUE);
  3. 请提及两者之间的区别(如果有的话)。

2 个答案:

答案 0 :(得分:17)

http://www.php.net/manual/en/function.array-push.php#53289

  

Empy括号不检查是否   变量首先是一个数组   array_push呢。如果array_push找到   变量不是数组   如果是E_ALL,则打印警告消息   错误报告已开启。

     

所以array_push比[]更安全,直到   PHP进一步改变了这一点   开发者。

$variable[]似乎要快得多:

http://www.php.net/manual/en/function.array-push.php#83388

然而如果您每次迭代添加多个值array_push()更快:

http://www.php.net/manual/en/function.array-push.php#84959

但请记住预优化是万恶之源。使用您感觉更舒服的任何内容,当遇到性能问题时,请使用分析器并进行基准测试。

答案 1 :(得分:8)

停止做奇怪的事情并让分析器成为真正的瓶颈。

ps:没有区别。

pps:这是典型的算法:

  1. 申请速度是否满足您的要求?如果不是 - 步骤2,如果是 - 步骤6
  2. 带分析器
  3. 找到最慢​​部分
  4. 优化它以使其变得更快
  5. 转到第1步
  6. 喝点啤酒