Всі способи як об'єднати масиви в php
Функція array_merge()
З допомогою цієї функції в php об'єднують масиви в новий окремий масив. Елементи другого масиву стають в кінець першого. Якщо в оброблюваних масивах є однакові ключі, об'єднання буде відбуватися наступним чином. Якщо ключами є рядкові елементи, відбувається заміна елементів, а кожне наступне значення замінює попереднє. Якщо елементи з одним ключем є числовими, то кожен елемент буде додаватися в кінець масиву. В результаті значення будуть відсортовані за ключем у зростаючому порядку. Елементів у новому масиві вибудовуються таким чином, що нульовим елементом буде значення з ключем color, потім числа 2 і 4 після них a, b. Слідом за ними shape => trapezoid і 4. Слід звернути увагу на елементи з загальним ключем. В даному випадку залишається green.Виконання:
Array
(
[color]=> green
[0]=> 2
[1]=> 4
[2]=> a
[3]=> b
[shape]=> trapezoid
[4]=> 4
)
Другий приклад, як об'єднати масиви в php.
Тут зберігаються всі елементи, крім тих, які мають загальний ключ 3. В цьому випадку залишається значення першого масиву. Результат:
array(5) {
[0]=>
string(6) "zero_a"
[2]=>
string(5) "two_a"
[3]=>
string(7) "three_a"
[1]=>
string(5) "one_b"
[4]=>
string(6) "four_b"
}
array_merge_recursive()
Функція array_merge_recursive()
З допомогою цієї функції можна рекурсивно об'єднати масиви в php. Значення одного масиву переходять в кінець іншого. Приєднання відбувається так само, як і в ході роботи функції array_merge(). Основна відмінність, що враховуються абсолютно всі дані, в тому числі вкладених багатовимірних масивів.
<!-- fb_336x280_2 -->
<script> (adsbygoogle = window.adsbygoogle ||[]).push({});
В даному випадку елементи масивів із рядковими ключами об'єднуються. При цьому такі елементи, які мають загальний рядковий ключ favorite, також об'єднуються. Числа 510 послідовно додаються в новий масив. Елемент color => array() стає на початок отриманого масиву, потім 5 і 10. При цьому значення blue прибирається, залишається red та green. Результат:
Array
(
[color]=> Array
(
[favorite]=> Array
(
[0]=> red
[1]=> green
)
[0]=> blue
)
[0]=> 5
[1]=> 10
)
Функція implode()
Щоб об'єднати масив php в рядок, використовується метод implode(). Повний синтаксис:
string implode ( string $glue , array $pieces )
Рядок $glue за замовчуванням порожня, вона не є обов'язковою. Масив $pieces являє собою елементи, які в підсумку будуть об'єднані. У результаті повертається рядок з елементами масиву, між якими знаходиться роздільник $glue. Таким чином:
$pieces[0]. $glue . $pieces[1]. $glue . $pieces[2]
Умовно можна назвати функцію implode() протилежній до explode(), яка розбиває рядок на елементи та перемістити їх у масив. Тут елементи масиву 'ім'я', 'пошта' і 'телефон' будуть об'єднані в рядок $comma_separated. В якості роздільника між елементами використовується ",". Таким чином в результаті виходить рядок "ім'я,пошта,телефон".
Підсумок
Три способи об'єднати два масиву в php - це: array_merge(); array_merge_recursive(); implode(). Відмінність другого методу від першої в тому, що об'єднання відбувається рекурсивно. Тобто при об'єднанні багатовимірних масивів, елементи кожного вкладеного масиву будуть приєднуватися один до одного. В результаті в обох випадках утворюється новий масив, що складається з елементів двох оброблюваних. В процесі виконання проявляються такі особливості, при яких значення одного масиву замінюються елементами іншого масиву. В інших випадках можливий варіант, що елементи додаються просто в кінець масиву. Функція implode() поєднує елементи двох масивів в рядок. В аргументах можна визначити символ, який буде розділяти слова.




