Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ответ 008 на задачу N 7
 
 автор: SoftTime   (19.02.2006 в 21:19)   письмо автору
 
 

Ответ 008 на задачу N 7.
С условиями задачи можно ознакомится по ссылке.

//mixture.php
<?php
//открываем файл и помещаем его содержимое в массив
$file_array file("data.txt");
//перемешиваем полученный массив
shuffle($file_array);
//открываенм файл для записи
$file_write fopen("data.txt""w");
//построчно записываем
foreach ($file_array as $sting)
{
    
fwrite($file_write$sting);
}
//закрываем файл
fclose($file_write);
?>



//ordernum.php
<?php
//открываем файл и помещаем его содержимое в массив
$file_array file("data.txt");
//сортируем массив в натуральном порядке
natsort($file_array);
//открываенм файл для записи
$file_write fopen("data.txt""w");
//построчно записываем
foreach ($file_array as $sting)
{
    
fwrite($file_write$sting);
}
//закрываем файл
fclose($file_write);
?>



//orderalph.php
<?php
//прочитать файл в массив
$file_array file("data.txt");
//новый массив для записи в файл
$new_file_array = array();
//разделяем буквы и цифры функцией explode
foreach($file_array as $string)
{
    
$new_string explode(" ",$string);
    
$new_file_array[] = $new_string[1];
}
//сортируем новый массив
sort($new_file_array);
//открываенм файл для записи
$file_write fopen("data.txt""w");
//номер строки
$num=1;
foreach(
$new_file_array as $new_string)
{
    
$new_string $num++." ".$new_string." \n";
    
fwrite($file_write$new_string);
}
?>


http://www.softtime.ru/info/task.php?id_article=77

   
 
 автор: cheops   (20.02.2006 в 00:45)   письмо автору
 
   для: SoftTime   (19.02.2006 в 21:19)
 

Всё очень аккуратно. Но после использования mixture.php получил следующее
2 PHP 
7 C++ 
10 Assembler5 Java 
6 Perl 
1 Fort 
3 JavaScript 
4 ASP.NET 
9 Fortran 
8 Pascal 

Это связано с тем, что в моём файле последняя запись не завершалась переводом строки, скрипт это не учитывает. После алфавитной сортировки получил следующее
1 ASP.NET 
2 Assembler
 
3 C++ 
4 Fort 
5 Fortran 
6 Java 
7 JavaScript 
8 PHP 
9 Pascal 
10 Perl 

Это немного не то, во первых затесался лишний перевод строки после 2 - это не хорошо. Во вторых сбита нумерация, языков, т.е. из этого файла я уже не восстановлю исходный, это не очень хорошо, так как на цифры как на первичные ключи могут ссылаться другие файлы.

   
 
 автор: udaf   (20.02.2006 в 01:20)   письмо автору
 
   для: cheops   (20.02.2006 в 00:45)
 

>Это связано с тем, что в моём файле последняя запись не
>завершалась переводом строки, скрипт это не учитывает. После
>алфавитной сортировки получил следующее
По началу я хотел использовать trim() но почемуто подумал что она удаляет все пробельные символы из строки, но ошибся. и не стал заморачиватся

Кроме этого требуется разработать файл orderalph.php, который бы сортировал языки программирования по алфавиту, не принимая во внимание цифры (в результирующем файле цифры, однако должны остаться).

я понял это как должны быть пронумерованы строки и без разницы как

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования