array_push()和$阵列[] =之间差array_push()和$阵列[] =之间差(Dif

2019-05-13 00:33发布

在PHP手册,( array_push )说..

如果你使用array_push()将一个元素添加到阵列中,最好使用$数组[] =,因为这样没有调用函数的开销。

例如 :

$arr = array();
array_push($arr, "stackoverflow");
print_r($arr);

VS

$arr[] = "stackoverflow";
print_r($arr);

我不明白为什么有很大的区别。

Answer 1:

当你调用PHP中的功能(如array_push()也有开销的号召,为PHP有来查找函数的引用,发现其在内存中的位置,并执行它定义任何代码。

使用$arr[] = 'some value'; 不需要函数调用,并实现了除直入的数据结构。 因此,加入了大量的数据时,它是快了很多,和资源有效地使用$arr[]



Answer 2:

你可以在一杆,以阵列使用array_push增加超过1元,

array_push($array_name, $element1, $element2,...)

凡$部件1,$ element2的,......将被添加到数组元素。

但是,如果你想只有一个元素一次添加,那么其他的方法(即使用$ ARRAY_NAME [])应该是首选。



Answer 3:

所不同的是在下面的线“因为这种方式有没有调用函数的开销。”

array_push()如果第一个参数不是数组将提高一个警告。 这不同于$var[]在其中创建一个新的阵列行为。



Answer 4:

你应该总是使用$array[]如果可能的话,因为随着箱子指出没有开销的函数调用。 因此,它比函数调用更快一点。



Answer 5:

array_push -推的一个或多个元件到数组的末尾

记的单词“ 一个或多个元素到端 ”要做到这一点使用$arr[]你会得到阵列的最大尺寸



Answer 6:

解释:1。第一个声明变量阵列。

2.第二array_push方法用于推入数组变量的字符串。

3.最后将打印出结果。

4.第二种方法是直接存储在数组中的字符串。

5.数据被打印在数组的值中使用的print_r方法。

这两者是相同的



Answer 7:

两者是相同的,但array_push使得环在它的参数,该参数是一个数组并执行$阵列[] = $元件



Answer 8:

没有人说,但只array_push推到阵列,其中$阵列[指数]可在任何给定的索引插入值的端部的元件。 很大的区别。



Answer 9:

我知道这是一个古老的答案,但它可能会有所帮助别人知道两者之间的另一个区别是,如果你有每个环路2/3以上的值添加到一个数组它的速度更快的使用方法:

     for($i = 0; $i < 10; $i++){
          array_push($arr, $i, $i*2, $i*3, $i*4, ...)
     }

代替:

     for($i = 0; $i < 10; $i++){
         $arr[] = $i;
         $arr[] = $i*2;
         $arr[] = $i*3;
         $arr[] = $i*4;
         ...
     }

编辑-忘记关闭托架的for有条件



文章来源: Difference between array_push() and $array[] =
标签: php arrays push