Задать вопрос
@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 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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