@somebody09

Как вернуть иное значение?

Здравствуйте. Есть массив городов. Нужно по первой букве вернуть первый попавшийся элемент массива. Все вроде правильно написал, но когда захотел добавить else (в моем случае, если город не найден), с текстом Miss, то перестало правильно работать.
с этим
return 'Miss';
или этим
echo 'Miss';
не получается поскольку при первом else результате будет выход из цикла, а при echo будет n-ое количество Miss
Как правильно написать? Пробовал через условную переменную $flag (true/false), тоже не получилось.
<?php

$city = ['Barcelona', 'Rome', 'Madrid'];

function findElement($city, $letter)
{
    foreach ($city as $value) {
        if ($letter == $value[0]) {
            return $value;
        } else {
            //с этим
            //return 'Miss';
            //или этим
            //echo 'Miss';
            //не получается поскольку при первом else результате будет выход из цикла, а при echo будет n-ое количество Miss
        }
    }
}

echo findElement($city, 'O');
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
alsopub
@alsopub
$city = ['Barcelona', 'Rome', 'Madrid'];

function findElement($city, $letter)
{
    foreach ($city as $value) {
        if ($letter == $value[0]) {
            return $value;
        }
    }
    return 'Miss';
}

echo findElement($city, 'O');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@SharuPoNemnogu
не язык плохой, программисты такие...
function findElement($city, $letter)
{
    $result = 'Miss';
    foreach ($city as $value) {
        if ($letter === $value[0]) {
            $result = $value;
            break;
        }
    }

    return $result;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы