Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вернуть значения из цикла ?
Форумы портала PHP.SU » PHP » Программирование на PHP » Вернуть значения из цикла ?

Страниц (1): [1]
 

1. Viper - 04 Октября, 2008 - 20:22:58 - перейти к сообщению
Собственно наверное изобретаю велосипед...
есть вот такая бяка:
CODE (text):
скопировать код в буфер обмена
  1. function getImgByType($dirname, $extension) {
  2.         $dir = opendir($dirname);
  3.  
  4.         while (false != ($file = readdir($dir))) {
  5.                 if(($file != ".") and ($file != "..")) {
  6.                         $fileChunks = array_reverse(explode(".", $file));
  7.                         $ext = $fileChunks[0];
  8.                                 if ($ext == $extension) {
  9.                                         echo $file;
  10.                                 }
  11.                 }
  12.         }
  13.         closedir($dir);
  14. }


echo $file; выводит список файлов. вопрос - как вернуть этот список файлов ?
т.е. при указании echo getImgByType('images/', 'jpg'); выводился список файлов.
2. valenok - 04 Октября, 2008 - 20:25:00 - перейти к сообщению
if ($ext == $extension) $return[] = $file;
..
return $return;

Вы об этом ?
3. Champion - 04 Октября, 2008 - 20:25:55 - перейти к сообщению
вместо $file напиши $files[$i], увеличивай в цикле $i, а в конце функции - return $files/

Массивы возвращаются функциями нормально
(Добавление)
Еще вариант
function getImgByType($dirname, $extension, &$files)
......

тогда можешь ничего не возвращать - массив будет в той переменной, которую передашь 3м параметром
4. Viper - 04 Октября, 2008 - 21:00:04 - перейти к сообщению
спасибо. заработало.

 

Powered by ExBB FM 1.0 RC1