$a = array('apple', 'banana', 'orange'); //etc...
$b = array('papel', 'abanan', 'grape'); //etc...
Выход должен быть 'apple', 'banana'
….. Вам нужно использовать некоторые встроенные методы массива.
Во втором массиве обратите внимание, что слова «яблоко» и «банан» пишутся неправильно. Слова «papel», «abanan» также могут быть похожи на «leppa», «nnaab» или любой другой формат, но он должен содержать все буквенные символы соответствующего слова.
Итак, вы говорите «уникальный», что подразумевает разница но твой пример показывает пересечение. Если вам нужно наоборот array_udiff()
вместо:
$result = array_uintersect($a, $b, function($a, $b) {
$a = str_split($a);
$b = str_split($b);
sort($a);
sort($b);
implode($a);
implode($b);
if($a == $b) {
return 0;
} elseif ($a > $b) {
return 1;
} else {
return -1;
}
});
array_uintersect()
возвращает элементы в $a
которые находятся в $b
Урожайность:
Array
(
[0] => apple
[1] => banana
)
Других решений пока нет …