|
|
|
| Ответ 001 на задачу N 7.
С условиями задачи можно ознакомится по ссылке.
Author: Axxil
Сразу говорю я делал упор на логику задачи. Всякие там проверки на возможность записи файла и в файл я не делал так как это не относится к сути задачи.
mixture.php:
<?php
define("FILE_NAME",'test.txt');
$arr = file(FILE_NAME);
shuffle($arr);
$handler = fopen(FILE_NAME,'w+');
fwrite($handler,implode("",$arr));
fclose($handler);
echo "<center>Отсортировано случайным образом</center>";
?>
|
ordernum.php:
<?php
define("FILE_NAME",'test.txt');
$arr = file(FILE_NAME);
foreach($arr as $item){
list($key,$value) = explode(" ",$item);
$ret[$key] = $key." ".rtrim($value);
}
ksort($ret);
$handler = fopen(FILE_NAME,'w+');
fwrite($handler,implode("\n",$ret)."\n");
fclose($handler);
echo "<center>Отсортировано по номерам</center>";
?>
|
orderalph.php:
<?php
define("FILE_NAME",'test.txt');
$arr = file(FILE_NAME);
foreach($arr as $item){
list($key,$value) = explode(" ",$item);
// Делаем ключами массива названия языков
$value = rtrim($value);
// Для того чтобы сортировка была строго по алфавиту нужно выключить чуствительность к регистру
// Ну а если кому-то нравится чтобы сначали шли заглавные а потом строчные делаем так: $index = $value;
$index = strtolower($value);
$ret[$index] = $key." ".$value;
}
// Сортируем по ключам
ksort($ret);
// пишем в файл
$handler = fopen(FILE_NAME,'w+');
fwrite($handler,implode("\n",$ret)."\n");
fclose($handler);
echo "<center>Отсортировано по алфавиту</center>";
?>
|
orderalph.php и ordernum.php найдите 10 отличий :)
В пеальной программе это была одна функция.
http://www.softtime.ru/info/task.php?id_article=77 | |
|
|
|
|
|
|
|
для: SoftTime
(16.02.2006 в 10:05)
| | Всё компактно... После использования mixture.php получил следующее
10 Assembler2 PHP
3 JavaScript
6 Perl
4 ASP.NET
1 Fort
8 Pascal
7 C++
5 Java
9 Fortran
|
Это связано с тем, что в моём файле последняя запись не завершалась переводом строки, скрипт это не учитывает. А после 9 Fortran появился перевод строки.
ordernum.php и orderalph.php реализован очень хорошо, всё чётко, понятно, без хитростей. Не прибавить, не убавить. | |
|
|
|