Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2012, 23:58   #1
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию Логическое выражение

PHP код:
<?php 
function sos($f1,$f2){
if(
is_dir($f1) && !is_dir($f2)) return -1;
if(!
is_dir($f1) && is_dir($f2)) return 1;
if(
$f1<$f2) return -1; elseif ($f1>$f2) return 1;
else return 
0;
}
$d opendir('.');
while(
false !== ($e=readdir($d)) )
   
$files[$e] = filesize($e);
uksort($files,"sos");  
print_r($files); 
?>
НЕ понятно вот это место: while(false !== ($e=readdir($d)) )
Что это за сравнение? Как расшифровывается строка?
kilogram вне форума Ответить с цитированием
Старый 28.04.2012, 00:18   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Код:
$e=readdir($d);
while(false !== $e )  // строгое сравнение вместе с типом
Cronos20 вне форума Ответить с цитированием
Старый 28.04.2012, 00:45   #3
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Код:
while(false !== ($e=readdir($d)) )
Здесь проверка переменной $e не равна ли она за типом типу false так как 2 знака равно после восклиц. знака?
kilogram вне форума Ответить с цитированием
Старый 28.04.2012, 01:00   #4
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Цитата:
!== - данные не должны быть эквивалентны
Код:
while(false !== ($e=readdir($d)) )
Если $e не равно типу бул, значению фолс. А зачем здесь проверять на тип?
Какие элементы с какими проверяются?
kilogram вне форума Ответить с цитированием
Старый 28.04.2012, 01:17   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Условие выхода из цикла: readdir возвращает false.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Составить логическое выражение...(плиз :) Natasha162 Помощь студентам 2 20.12.2009 16:55
Логическое выражение DaniyMilner Общие вопросы C/C++ 6 22.02.2009 19:14
Не проверяется логическое выражение в операторе While lsd11 Помощь студентам 2 15.10.2008 19:09
Упростить логическое выражение. Помогите с поступлением. DartMrakkk Помощь студентам 4 27.07.2008 12:35