Есть текстовый документ, в котором около 100 строк типа HTML: Один Два Три Дерево Яблоко 111222333 Xxx123zzz Мне их нужно отсортировать в обратном порядке. Чтобы результат был таким: HTML: Xxx123zzz 111222333 Яблоко Дерево Три Два Один Помогите такое реализовать?
PHP: <?php $Strings = file('file.txt'); array_walk($Strings, function(&$Str){ $Str = trim($Str); }); rsort($Strings, SORT_STRING); file_put_contents('file_res.txt', join("\n", $Strings)); Только зачем отдельную тему создавать?
В файл str.txt кладем нужные строки, а в new.txt сохранится результат. Функция file() загоняет файл в массив построчно. Функция array_reverse() возвращает массив в обратном порядке. Функция file_put_contents() сохраняет в файл. PHP: <?php file_put_contents('new.txt', array_reverse(file('str.txt'))); ?>
daniel777 array_reverse - Возвращает массив с элементами в обратном порядке, но никак не сортирует его. rsort - обратная сортировка как сказали выше
PHP: Parse error: syntax error, unexpected T_FUNCTION Помогло! Спасибо! Народ, а можно сделать что – то типа такого, чтобы на страница было поле textarea, а под ним кнопка. Вставил в поле строчки, нажал кнопку – результат в этом же окне?
PHP: <html> <head> <title></title> </head> <body> <div align="center"> <form method="POST"> <textarea name="strings" rows="10" cols="50"></textarea> <br /> <input type="submit" /> </form> <?php if(isset($_POST['strings']) && !empty($_POST['strings'])) { echo '<textarea name="result" rows="10" cols="50">'; $strings = explode("\n", trim($_POST['strings'])); echo implode("\n", array_reverse($strings)); echo '</textarea>'; } ?> </div> </body> </html>
array_reverse поможет лишь, если строки уже отсротированы по возрастанию насчет ошибки скажу что php < 5.3.0
Я думаю, что тс'у нужно было просто перевернуть строки, которые уже отсортированы нужным образом, просто он некорректно выразился.