Так что это то, что меня беспокоит.PHP - Как сравнить два массива и удалить повторяющиеся значения
У меня есть два массива:
$array1 = array('[param1]' ,'demo' ,'[param2]' ,'some' ,'[param3]');
$array2 = array('value1' ,'demo' ,'value2' ,'some' ,'value3');
Теперь я хочу, чтобы сравнить эти два массива, и удалить все повторяющиеся значения.
В конце я хочу, чтобы эти два массива, но без «демо» и «некоторые» значения в них.
Я хочу удалить все значения из массива, имеющие один и тот же индексный ключ и значение.
У Array всегда будет одинаковое количество значений и индексов, я хочу сравнить их и удалить записи, имеющие одинаковый индексный ключ и значение, из обоих.
Я сейчас делаю что-то вроде этого:
$clean1 = array();
$clean2 = array();
foreach($array1 as $key => $value)
{
if($value !== $array2[$key])
{
$clean1[$key] = $value;
$clean2[$key] = $array2[$key];
}
}
var_export($clean1);
echo "<br />";
var_export($clean2);
И это работает! Но им интересно, есть ли другой способ сделать это? Может быть, без использования цикла foreach? Есть ли более элегантный способ сделать это?
Можете ли вы определить, что «элегантно» для вас? Я не вижу здесь проблем ... – nmagerko
Это всегда будет требовать линейного поиска. В этом отношении ваше решение является наиболее эффективным. – You