Я играл с array_search. Я пытаюсь найти массив и получить детали от него. Проблема заключается в том, что после того, как он находит результат, в котором он движется, он не проверяет наличие дубликатов в массиве. Кажется, я не могу понять свою логику цикла, любые предложения?Используйте array_search, но продолжайте поиск после найденного результата (PHP)
$names
массив
Array(
[0] => Array
(
[name] => Fred
[age] => 20
)
[1] => Array
(
[name] => George
[age] => 17
)
[2] => Array
(
[name] => Sarah
[age] => 22
)
[3] => Array
(
[name] => Fred
[age] => 30
)
)
$name=" Fred";
//loop here
$array_position = array_search($name, array_column($names, 'name'));
$array_data = $names[$array_position];
echo $array_data['name'] . " is: " . $array_data['age'] . " years old.
//end loop
Результат:
Фред 20 лет.
Ожидаемый результат:
Фред 20 лет
Фред 30 лет.
Я попытался array_keys()
, но я не понимаю, php.net очень хорошо
Если я пытаюсь сохранить результаты в отдельном массиве, а затем цикл, который для печати? Похоже, должно быть более эффективное/элегантное решение.
Используйте in_array() вместо array_search() – Gulshan