PHP добавляет один массив к другому (не array_push или +)

Python не имеет Соединения . На самом деле я думаю, что только Perl имеет Соединения до сих пор.:-)

251
задан Alex 17 November 2015 в 17:48
поделиться

1 ответ

Начиная с PHP 7.4 можно использовать ... оператор . Это также известно как оператор нащельной рейки на других языках, включая Ruby.

$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
var_dump($fruits);

Вывод

array(5) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
    [2]=>
    string(5) "apple"
    [3]=>
    string(4) "pear"
    [4]=>
    string(10) "watermelon"
}

оператор Splat должен иметь лучшую производительность, чем [1 111] array_merge. That’s не только потому, что оператор нащельной рейки является структурой языка, в то время как array_merge является функцией, но также и потому что оптимизация времени компиляции может быть производительной для постоянных массивов.

, Кроме того, мы можем использовать синтаксис оператора нащельной рейки везде в массиве, поскольку нормальные элементы могут быть добавлены прежде или после оператора нащельной рейки.

$arr1 = [1, 2, 3];
$arr2 = [4, 5, 6];
$arr3 = [...$arr1, ...$arr2];
$arr4 = [...$arr1, ...$arr3, 7, 8, 9];
2
ответ дан 23 November 2019 в 02:54
поделиться