У меня есть следующая функция. Он сравнивает одно значение с каждым значением в массиве.PHP - как использовать 'break;' в тройном операторе
function catExists($id) {
$cats = getCats();
foreach ($cats as $cat) {
if ($cat['id'] == $id) {
return true;break;
} else {
return false;
}
}
}
Я пытаюсь укоротить все это, используя тройные операторы.
function catExists($id) {
foreach (getCats() as $cat) return ($cat['id'] == $id) ? true : false;
}
У меня есть проблема в том, что я не могу использовать break;
когда условие превращается в true
. i.e Возвращаемое значение будет продолжать возвращаться к false
, если условие true
не находится в конце array
.
Это их способ, которым это может быть достигнуто на одной линии?
Thanks
Я думаю, что это избыток. Это не то, что должны делать троичные операции. – karthikr
перерыв совершенно бессмыслен. 'return' прекратит выполнение функции, создав недостижимый код' break'. И так как у вас есть 'return 'в BOTH ветвях вашего' if() ', ваш цикл может делать только одну Итерацию. –
Karth, не оспаривая, что это перебор :-). Спасибо, Марк, я не знал об этом – Swift