@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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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