@IbragimGadzhiev

Цикл while: какие условия он принимает?

Здравствуйте, друзья!
Учусь делать чат по видео уроку Ссылка(откроется место с интересующим кодом)
Первый вопрос: для чего вообще нужен в этом месте цикл? (у меня и без него заработало)
Второй вопрос: что за условие такое $data=$req->fetch()? Или цикл ожидает false от функции fetch чтобы прекратиться?
  • Вопрос задан
  • 2206 просмотров
Решения вопроса 1
@BatteryLow
Принцип этого цикла в том, что он обрабатывает результат запроса построчно и после последнего элемента felch() вернет false и цикл закончится. В данном конкретном случае можно обойтись и без него, ведь пара емейл-пароль по-определению должна быть уникальна, и соответственно итерация будет только одна.

Скорее всего автор просто по привычке такую обработку результата написал. ИМХО это нормальная практика, для производительности это несущественно, а иногда случается, что архитектура приложения резко меняется, и в методе где всегда обрабатывался только 1 результат их может стать несколько, в случае когда обработка уже в цикле изменения в коде проходят безболезненней.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@whats
Тостер превращается в очередной галимый форум со знаниями которые в каждом учебнике есть!!!
Ответ написан
Комментировать
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Без просмотра всего целиком - не понятно что он имел в виду.
Вообще выражение ($a = $b) возвращает $b.
Т.е этот while - это по сути "пока функция fetch возвращает что то отличное от 0/false"
Ответ написан
Комментировать
uadeveloper
@uadeveloper
Не для чего. Бестолочь код писал.
Мы получать должны одну запись, а не массив. Не смотрите таких примеров.
Ответ написан
Комментировать
KorsaR-ZN
@KorsaR-ZN
Если по хорошему, то автор видео-ролика делает что-то не понятное, там цикл вообще не нужен.
Т.к по логике почта в базе пользователей это уникальный элемент, их не может быть две.
А у Автора получается, что может быть :( Надо вообщем смотреть весь его код, чтобы понять, для чего он так сделал, но на первый взгляд это его ошибка...

А циклы нужны для повторения действий указанных в его теле, до тех пор пока условие цикла, указанное в скобках () является true.
В данном видео, цикл будет выполнятся пока данные возвращаемые $req->fetch(), отличны от false

Пример:
$i = 0;
while(++$i < 5) {
   echo $i;
}

// результат будет 1234

Т.е данный цикл будет выполняться пока его условие выполняется, т.е true
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект