Код (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)) ) Что это за сравнение? Как расшифровывается строка?
Код (Text): while(false !== ($e=readdir($d)) ) Если $e не равно типу бул, значению фолс. А зачем здесь проверять на тип? Какие элементы с какими проверяются?
Читаем доку php.net/manual/en/function.readdir.php может вернуть не фалс, но такое значение, которое без проверки типа может быть истолковано как фалс. Тот же ноль.