Вывод значений из двух массива, исключающие повтор

Печать RSS
331

Автор
Чатланин
0
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Вот пример реализации этой задачи, как решить его подругому? как то через foreach решал, уже не помню)

Голубые штаны
0
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); 
$array2 = array("a" => "green", "yellow", "red"); 

$result = array_unique(array_merge($array1, $array2)); 
var_dump($result);
Ф-я array_merge() выполняет слияние двух массивов.
Ф-я array_unique() выполняет удаление повторов после слияния.

array[5]
   a => "green"
   b => "brown"
   c => "blue"
   0 => "red"
   1 => "yellow"
Изменил: Дмитрий (04.08.2015 / 18:05)
Автор
Чатланин
0
dima.london (4 Августа 2015 / 18:04)
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); 
$array2 = array("a" => "green", "yellow", "red"); 

$result = array_unique(array_merge($array1, $array2)); 
var_dump($result);
Ф-я array_merge() выполняет слияние двух массивов.
Ф-я array_unique() выполняет удаление повторов после слияния.

array[5]
   a => "green"
   b => "brown"
   c => "blue"
   0 => "red"
   1 => "yellow"
а если у меня array1 является многомерным массивом, а array2 одномерным, в таком случаи как можно сделать? array1 привести к одномерному? а потом сливать их и убрать повторяющие?
Изменил: Don (05.08.2015 / 08:25)

Веем холодом
0
SuLeYmaN (5 Августа 2015 / 10:25)
а если у меня array1 является многомерным массивом, а array2 одномерным, в таком случаи как можно сделать? array1 привести к одномерному? а потом сливать их и убрать повторяющие?
Для этой цели служит array_merge_recursive - рекурсивно сливает массивы
Автор
Чатланин
0
А как исключить из вывода определенные значения? из БД допустим
типо черного списка
некий список
$arr1 = array('xрень', 'х**', 'п****');
$arr2 = mysql_featch_assoc($user);
Изменил: Don (05.08.2015 / 10:34)

Веем холодом
0
SuLeYmaN (5 Августа 2015 / 12:33)
А как исключить из вывода определенные значения? из БД допустим
типо черного списка
некий список
$arr1 = array('xрень', 'х**', 'п****');
$arr2 = mysql_featch_assoc($user);
Можно foreach пробежаться по массиву, сравнивая с массивом черного списка, in_array для этой цели служит. Убрать значение из массива - unset
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск