|
|
|
|
<?php
while($a=readdir($dir)!==false)
?>
|
В этом коде сначало выполнится функция, потом идет присвоение и уже потом сравнивается?
-То-есть присвоение имеет выше приоритет?
А в коде типа:
Сначало выполняются функции, которые стоят в аргументах первичных функций? | |
|
|
|
|
|
|
|
для: demonow
(26.02.2012 в 17:51)
| | >В этом коде сначало выполнится функция, потом идет присвоение и уже потом сравнивается?
Да.
>Сначало выполняются функции, которые стоят в аргументах первичных функций?
Да. Тут как в математике. Просто смотрите как бы вы сами стали решать уравнение со скобками - так же и интерпретатор будет действовать. Он специально запутывать или назло действовать не будет - наоборот прикладываются все усилия, чтобы лишних пояснений не требовалось. | |
|
|
|
|
|
|
|
для: cheops
(26.02.2012 в 17:56)
| | Спасибо | |
|
|
|
|
|
|
|
для: demonow
(26.02.2012 в 17:51)
| | В первом коде, сначала выполнится сравнение, потом присвоение. Поэтому в $a, вместо ожидаемого имени каталога, будет лежать false или true. | |
|
|
|
|
|
|
|
для: Drago
(26.02.2012 в 20:04)
| | Только наоборот, сначала осуществляется присвоение, которое возвращает либо имя каталога, либо false, а потом с этим результатом осуществляется сравнение !==, которое уже выдает строго либо true, либо false. Иначе просто невозможно выполнить сравнение, если аргументы оператора !== не будут вычислены. | |
|
|
|
|
|
|
|
для: cheops
(26.02.2012 в 20:06)
| | Поэтому лучше не гадать, а заключать в скобки
while( ($a=readdir($dir)) !== false )
|
| |
|
|
|
|
|
|
|
для: cheops
(26.02.2012 в 20:06)
| | У сравнения приоритет выше. Как может присвоение выполнятся вначале? | |
|
|
|
|
|
|
|
для: Drago
(26.02.2012 в 21:02)
| | Все верно, это demonow меня попутал :))), конечно же, если использовать выражение
while($a=readdir($dir)!==false)
| без скобок, то $a получил набор 1, а вовсе не имена файлов, почему скобки и важны. Вообще, конечно, я тут к Sfinks присоединюсь, лучше всегда использовать скобки, особенно тогда, когда нет устойчивых правил из арифметики... | |
|
|
|
|
|
|
|
для: Drago
(26.02.2012 в 20:04)
| | Но впринципе даже если там будет не имя каталога а логическое значение, для правильной роботы это роли ведь не сильно играет, ведь while проверяет на истинность и походу не важно(в данном примере) что цикл завершиться будь там имя каталога или логическое значение. | |
|
|
|
|
|
|
|
для: demonow
(26.02.2012 в 22:36)
| | Если вам нужно имя файла, то в $a его не будет (там будет 1), а взять его больше не от куда. Чтобы было имя файла, нужно использовать код Sfinks. | |
|
|
|
|
|
|
|
для: cheops
(26.02.2012 в 22:39)
| | Не, меня как раз интересовало насчет операторов, и когда выйдет цикл, но я уже розобрался спасибо всем. | |
|
|
|