Новини високих технологій
» » Всі способи як об'єднати масиви в php

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

3-06-2018, 23:40
1 121
Є кілька способів об'єднати масиви в php. Основні функції array_merge() і array_merge_recursive() працюють зі складними масивами. Метод implode() обробляє багатовимірні масиви. Є спосіб конкатенирования елементів масивів і об'єднання елементів одного масиву в рядок.

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

<script async="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">
<!-- 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() поєднує елементи двох масивів в рядок. В аргументах можна визначити символ, який буде розділяти слова.
Цікаво по темі
PHP implode: перетворення одновимірних і багатовимірних масивів у рядки, сортування за допомогою числових індексів.
PHP implode: перетворення одновимірних і багатовимірних масивів у рядки, сортування за допомогою числових індексів.
Гнучкість і багатоваріантність застосування функції php implode(), об'єднання значень одновимірних і багатовимірних масивів у рядки, маніпулювання
Sizeof PHP: розмір масивів та об'єктів, зменшення часу виконання скриптів
Sizeof PHP: розмір масивів та об'єктів, зменшення часу виконання скриптів
PHP: прискорення циклів за допомогою sizeof(), зменшення часу виконання скриптів, підрахунок об'єктів StdClass, створених з json_decode, оптимізація
PHP array_search: пошук значення в масиві
PHP array_search: пошук значення в масиві
Пошук значення в масиві за допомогою функції PHP array_search. Синтаксис, вхідні параметри і значення, що повертається. Механізм пошуку, залежність
Об'єкти та масиви PHP: array push & pop
Об'єкти та масиви PHP: array push & pop
Стекова організація даних зручна для створення динамічної функціональності. Масиви на PHP, функції push & pop на перших і останніх елементах
Як визначити кількість елементів у масиві PHP?
Як визначити кількість елементів у масиві PHP?
При використанні масивів має значення кількість містяться в них даних. Особливості синтаксису і логіки мови PHP дозволяють динамічно визначати
Javascript Array для збереження необмеженої кількості змінних
Javascript Array для збереження необмеженої кількості змінних
Логічно масив займає проміжне положення між змінними і об'єктами. Практично не слід надавати особливого значення словам. У програмі є змінні і код.