Хорошо, у меня есть два массива, которые я пытаюсь сравнить, чтобы увидеть, совпадают ли слова между ними.
$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";
}
}
}
Есть идеи?
Пробел после запятой вызывает сбой теста. Если адреса всегда будут иметь это место, вы можете использовать ответ @ SharpEdge. Если это необязательно, используйте trim()
$address = array_map('trim', explode(",", '31 Birmingham Road, Erdington, Birmingham, Blah'));
Возможно, что пробел после запятой вызывает сбой условия.
' Erdington' != 'Erdington'
Грязный тест (добавление пробела через запятую)
$address = explode(", ", '31 Birmingham Road, Erdington, Birmingham, Blah');