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 » » Вопросы новичков » Сортировка массива.

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

1. Исильдур - 30 Августа, 2012 - 20:35:28 - перейти к сообщению
Всем добрый вечер!
У меня такая проблема, не получается отсортировать массив в обратном порядке.
Записываю данные в файл:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $filename = "message.txt";
  3. $fd = fopen("message.txt", "a");
  4. if(!$fd) die('Невозможно открыть файл на запись!');
  5. fwrite($fd, $_POST['name']."|");
  6. fwrite($fd, $_POST['message']."\n");
  7. fclose($fd);
  8.  


После этого пытаюсь получить из файла массив,
Получаю, вывожу все работает,
Но если его отсортировать, например функцией rsort(),
То, ничего не выводит.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  $messages = file($filename);
  3.  $messages = rsort($messages);
  4. print_r($messages); // Выводит просто цифру 1, а если сортировку убрать то выведет весь массив
  5. полностью...

Подскажите пожалуйста в чем дело.
2. snikers987 - 30 Августа, 2012 - 20:43:50 - перейти к сообщению
Исильдур пишет:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  $messages = file($filename);
  3.  $messages = rsort($messages);
  4. print_r($messages); // Выводит просто цифру 1, а если сортировку убрать то выведет весь массив
  5. полностью...

Подскажите пожалуйста в чем дело.

Потому что функция rsort() возвращает bool, а первый аргумент передается по ссылке

PHP:
скопировать код в буфер обмена
  1.  
  2. $messages = file($filename);
  3. rsort($messages);
  4. print_r($messages);
  5.  
3. Исильдур - 30 Августа, 2012 - 21:12:08 - перейти к сообщению
snikers987, Работает!
Жаль + поставить не могу
Но все равно спасибо!

 

Powered by ExBB FM 1.0 RC1