Я получил этот массив внутри другого массива, который мне нужно найти / сопоставить, а затем вернуть true. Проблема в том, что foreach просто останавливается после 1-го матча.
foreach($term_data as $key => $terms){
if (false !== $searchkey = array_search(113, array_column($terms[services], 'target_id'))){
$handler->argument = $term_data[$key]['id'];
return TRUE;
}else{
return FALSE;
}
}
Мой массив выглядит примерно так:
$term_data = Array (
[0] Array (
[id] => 35
[name] => 'Location1'
[services] => Array (
[0] => Array (
[target_id] => 112
)
[1] => Array (
[target_id] => 113
)
)
[1] Array (
[id] => 36
[name] => 'Location2'
[services] => Array (
[0] => Array (
[target_id] => 109
)
[1] => Array (
[target_id] => 113
)
)
)
Используется в Drupal Views. Мне нужно возвращать true каждый раз, когда это соответствует после установки аргумента $ handler->. Прямо сейчас это работает, но остановится после 1-го матча. Как мне просмотреть все $ term_data, выполнить поиск в массиве services, а затем вернуть term_data [id].
Это работает в другом представлении, но это не массив внутри другого:
if (false !== $key = array_search($search_name, array_column($term_data, 'name'))){
$handler->argument = $term_data[$key]['id'];
return TRUE;
}else{
return FALSE;
}