Идёт загрузка страницы...

htp://aptem.net.ru





Работа с массивами : Работа с несколькими массивами

array_diff
Определение исключительного пересечения массивов.

Синтаксис :
array array_diff(array arr1, array arr2 [, array ...])

Данная функция возвращает массив, который содержит значения, имеющиеся только в массиве arr1 ( и не имеющиеся в любых других). При этом индексы не сохраняются.
$arr1 = array("a" => "green", "red", "blue");
$arr2 = array("b" => "green", "yellow", "red");
$result = array_diff($arr1, $arr2);
// $result = array("blue")

array_intersect
Определение включительного пересечения массивов.

Синтаксис :
array array_intersect(array arr1, array arr2 [, array ...])

Функция array_intersect() возвращает массив, который содержит значения массива arr1, имеющиеся во всех остальных массивах. При этом индексы не сохраняются.
$arr1 = array("a" => "green", "red", "blue");
$arr2 = array("b" => "green", "yellow", "red");
$result = array_intersect($arr1, $arr2);
// $result = array("a" => "green", "red")

array_merge
Слияние массивов.

Синтаксис :
array array_merge(array arr1, array arr2 [, array ...])

Функция array_merge() призвана устранить все недостатки, присущие оператору + для слияния массивов. А именно, она сливает массивы, перечисленные в ее аргументах, в оди большой массив и возвращает результат. Если в массивах встречаются одинаковые ключи, в результат помещается пара ключ=>значение из того массива, который расположен правее в списке аргументов. Однако это не затрагивает числовые ключи: элементы с такими ключами помещаются в конец результирующего массива в любом случае.
$L1=array(10,20,30);
$L2=array(100,200,300);
$L=array_merge($L1, $L2);
// теперь $L===array(10,20,30,100,200,300);

array_merge_recursive
Объединение сложных массивов.

Синтаксис :
array array_merge_recursive(array arr1, array arr2 [, array ...])

Функция array_merge_recursive() сильно напоминает функцию array_merge() с тем дополнением, что она может работать с многомерными и древовидными массивами, а элементы с одинаковыми строковыми индексами превращаются в подмассивы. Для числовых индексов поведение функции аналогично array_merge().
$arr1 = array("color" => array("favorite" =>"red"), 5);
$arr2 = array(10, "color" => array("favorite" =>"green"), "blue");
$result = array_merge_recursive($arr1, $arr2);
// $result = array("color" => array (
//                   "favorite" => array("red", "green"),
//                   "blue"), 5, 10)

Перейти к разделу "Учебники по PHP"