[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: условие в while
M.Marley
Всем привет! извиняюсь может вопрос покажется кому то из вас глупым.Может быть я где то книжку не дочитала))) Встретилось мне условие в цикле while вида

while ($str = trim(fgets($fp)))
$headers .= "$str\n";


вопрос: КАК перевести условие этого цикла. я знаю эти функции но почему = а не ==??? = это же оператор присваивания, как он может быть условием?



Спустя 12 минут, 24 секунды (16.06.2011 - 16:15) linker написал(а):
Никто не запрещал использовать в условиях целые выражения. В данном случае при каждой итерации цикла в переменную $str будет записывать значение выражения trim(fgets($fp)), после чего и будет проверяться условие является ли $str истиной или ложью. Ложью в данном случае будет выступать пустота строки.

Спустя 7 секунд (16.06.2011 - 16:15) nugle написал(а):
M.Marley
перевидите цикл while, пока есть действие над файлом будет продолжаться цикл

Спустя 10 минут, 37 секунд (16.06.2011 - 16:25) linker написал(а):
Иначе это условие можно записать так
while (($str = trim(fgets($fp))) != '')
{
}

Спустя 2 минуты, 19 секунд (16.06.2011 - 16:28) M.Marley написал(а):
Спасибо)))теперь поняла. Но возник еще один вопрос. А возможно ли использовать только одну переменную в условии? что то типа if ($str) ?

Спустя 3 минуты, 2 секунды (16.06.2011 - 16:31) linker написал(а):
Да
$str = 'Hello';
if ($str)
echo 'Переменная не пустая';
else
echo 'Переменная имеет пустое значение';

Спустя 17 часов, 13 минут, 23 секунды (17.06.2011 - 09:44) M.Marley написал(а):
Спасибо всем огромное. Терь поняла!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.