Соответствующие элементы в двух массивах

Хорошо, у меня есть два массива, которые я пытаюсь сравнить, чтобы увидеть, совпадают ли слова между ними.

$address = explode(",", '31 Birmingham Road, Erdington, Birmingham, Blah');

Я использую следующее, которое не находит совпадений, однако при исследовании цикла я могу получить Erdington = Erdington, и он по-прежнему не возвращает совпадений?

if (count($_POST['location'])) {
foreach ($_POST['location'] as $value) {
if (in_array($value, $address)) {
$exists = 1;
$success[] = "Match";
}
}
}

Есть идеи?

0

Решение

Пробел после запятой вызывает сбой теста. Если адреса всегда будут иметь это место, вы можете использовать ответ @ SharpEdge. Если это необязательно, используйте trim()

$address = array_map('trim', explode(",", '31 Birmingham Road, Erdington, Birmingham, Blah'));
4

Другие решения

Возможно, что пробел после запятой вызывает сбой условия.

' Erdington' != 'Erdington'

Грязный тест (добавление пробела через запятую)

$address = explode(", ", '31 Birmingham Road, Erdington, Birmingham, Blah');
2

По вопросам рекламы [email protected]