Всі способи як об'єднати масиви в php

20 0 Новини високих технологій

Є кілька способів об'єднати масиви в php. Основні функції array_merge() і array_merge_recursive() працюють зі складними масивами. Метод implode() обробляє багатовимірні масиви. Є спосіб конкатенирования елементів масивів і об'єднання елементів одного масиву в рядок.

Функція array_merge()

З допомогою цієї функції в php об'єднують масиви в новий окремий масив. Елементи другого масиву стають в кінець першого. Якщо в оброблюваних масивах є однакові ключі, об'єднання буде відбуватися наступним чином. Якщо ключами є рядкові елементи, відбувається заміна елементів, а кожне наступне значення замінює попереднє. Якщо елементи з одним ключем є числовими, то кожен елемент буде додаватися в кінець масиву. В результаті значення будуть відсортовані за ключем у зростаючому порядку.
Всі способи як об'єднати масиви в 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.

Всі способи як об'єднати масиви в 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(). Основна відмінність, що враховуються абсолютно всі дані, в тому числі вкладених багатовимірних масивів.

<script async="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
<!-- fb_336x280_2 -->

<script> (adsbygoogle = window.adsbygoogle ||[]).push({});
Всі способи як об'єднати масиви в php

В даному випадку елементи масивів із рядковими ключами об'єднуються. При цьому такі елементи, які мають загальний рядковий ключ 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(), яка розбиває рядок на елементи та перемістити їх у масив.
Всі способи як об'єднати масиви в php
Тут елементи масиву 'ім'я', 'пошта' і 'телефон' будуть об'єднані в рядок $comma_separated. В якості роздільника між елементами використовується ",". Таким чином в результаті виходить рядок "ім'я,пошта,телефон".

Підсумок

Три способи об'єднати два масиву в php - це:
  • array_merge();
  • array_merge_recursive();
  • implode().
  • Відмінність другого методу від першої в тому, що об'єднання відбувається рекурсивно. Тобто при об'єднанні багатовимірних масивів, елементи кожного вкладеного масиву будуть приєднуватися один до одного. В результаті в обох випадках утворюється новий масив, що складається з елементів двох оброблюваних. В процесі виконання проявляються такі особливості, при яких значення одного масиву замінюються елементами іншого масиву. В інших випадках можливий варіант, що елементи додаються просто в кінець масиву. Функція implode() поєднує елементи двох масивів в рядок. В аргументах можна визначити символ, який буде розділяти слова.