nastya97core
@nastya97core
Начинающий программист

Как в for прописать 2 условия?

Здравствуйте. Мне нужен цикл, который остановится либо, когда переменная $i примет значение 15, либо когда переменная $a примет значение "true".

for ($i = 0; $i < 15 || $a != "true"; ++$i) { 
if ($i == 10) {
	$a = "true";
}
e($i); // e - это функция echo
e($a);
}

По логике оно должно было работать. В условии либо $i < 15, либо $a != "ok"... но оно не работает... он считает до 14

p.s. я знаю про break. я хочу именно в условии прописать "стоп"
  • Вопрос задан
  • 346 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега PHP
Начинающие программисты действительно часто путают логические И и ИЛИ, которые отличаются от бытовых И и ИЛИ.
Результат логического ИЛИ будет true если любой из операндов вернул true

А здесь нужно выполнять цикл, пока оба условия выполняются, и прекратить, если хоть одно стало false. То есть, нужно логическое И
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro
frontend developer
просто укажите несколько условий:
$a = false;
for ($i = 0; $i < 15, !$a; ++$i) { 
    if ($i == 10) {
        $a = true;
    }
    echo $i." ";
    echo $a."\n";
}
Ответ написан
$i <= 15
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы