Работа с массивами : Работа с несколькими массивами
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)