Объединение массивов с помощью оператора: раскрыто
В PHP оператор можно использовать для объединения двух массивов. Однако бывают случаи, когда этот метод ведет себя неожиданно, как показано в приведенном ниже фрагменте кода:
$array = array('Item 1');
$array = array('Item 2');
var_dump($array);
Этот код выдает следующий результат:
array(1) { [0]=> string(6) "Item 1" }
Вопреки ожиданиям, второй элемент в массив не был добавлен. Чтобы понять это поведение, мы углубимся в тонкости ключей массива.
При использовании оператора для объединения массивов он присваивает ключ 0 всем элементам. Следовательно, любые существующие элементы с разными ключами перезаписываются. Чтобы избежать этого, рекомендуется использовать функцию array_merge():
$arr1 = array('foo');
$arr2 = array('bar');
$combined = array_merge($arr1, $arr2);
Этот код правильно объединяет массивы, в результате чего получается:
array('foo', 'bar');
Однако, если ключи в массивах уникальны, оператор можно эффективно использовать:
$arr1 = array('one' => 'foo');
$arr2 = array('two' => 'bar');
$combined = $arr1 $arr2;
Этот код дает желаемый результат:
array('one' => 'foo', 'two' => 'bar');
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3