it-swarm.com.ru

Разница между array_Push () и $ array [] =

В руководстве PHP ( array_Push ) говорится ..

Если вы используете array_Push () для добавления одного элемента в массив, лучше используйте $ array [] =, потому что в этом случае нет необходимости вызывать функция.

Например :

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

против

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

Я не понимаю, почему есть большая разница.

106
l2aelba

Когда вы вызываете функцию в PHP (например, array_Push()), при вызове возникают накладные расходы, так как PHP должен искать ссылку на функцию, находить ее позицию в памяти и выполнять любой код, который он определяет.

Использование $arr[] = 'some value'; не требует вызова функции и реализует добавление прямо в структуру данных. Таким образом, при добавлении большого количества данных намного быстрее и экономичнее использовать $arr[].

141
BenM

Вы можете добавить более 1 элемента за один снимок в массив, используя array_Push, 

например array_Push($array_name, $element1, $element2,...)

Где $ element1, $ element2, ... - это элементы, добавляемые в массив.

Но если вы хотите добавить только один элемент за один раз, тогда предпочтительнее использовать другой метод (то есть, используя $ array_name []).

42
Sujit Singh

Разница в строке ниже: «потому что в этом случае нет необходимости вызывать функцию».

array_Push() выдаст предупреждение, если первый аргумент не массив. Это отличается от поведения $var[], когда новый массив создано.

12
Baig

Вы должны всегда использовать $array[], если это возможно, потому что, как указано в окне, нет никаких накладных расходов для вызова функции. Таким образом, это немного быстрее, чем вызов функции.

7
Benjamin Paap

array_Push - Вставить один или несколько элементов в конец массива

Запишите слова "один или несколько элементов в конце" , Чтобы сделать это, используя $arr[], вам нужно будет получить максимальный размер массива

5
ianace

объяснить: 1.первый объявить переменную в массиве.

2. второй метод array_Push используется для Push-строки в переменной массива.

3. Наконец, он напечатает результат.

4. Второй метод - непосредственно сохранить строку в массиве.

5. данные печатаются в значениях массива с использованием метода print_r.

это два одинаковы

2
Saravana Kumar

оба одинаковы, но array_Push делает цикл в своем параметре, который является массивом, и выполняет $ array [] = $ element

1
Sara

Никто не сказал, но array_Push только помещает элемент в конец массива, где $ array [index] может вставить значение по любому заданному индексу. Большая разница.

1
Marco

Я знаю, что это старый ответ, но для других может быть полезно знать, что еще одно различие между ними состоит в том, что если вам нужно добавить более 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;
         ...
     }

edit- Забыл закрыть скобку для условной переменной for

0
Antoniu Livadariu

Нормальными словами .. 

// produces: array(0=>'foo', 1=>'bar');
$arr[] = 'foo'
$arr[] = 'bar'

//produces: array('foo', 'bar');
array_Push($arr, 'foo', 'bar');
0
Chris Visser