Сортировка данных из файла

croose

Новичок
Сортировка данных из файла

Здравствуйте,

Помогите пожалуйста новичку решить проблему:

Есть файл, с содержимым:
Петя[+]34[+]
Вася[+]12[+]
Маша[+]53[+]
Федя[+]23[+]

Задача: отсортировать и вывести строки.

PHP:
<?
function fsort($a,$b){
return strnatcmp($a[1],$b[1]);
}

$txtfile=@file("text.txt");
for($i=0;$i<count($txtfile);$i++){
$a[$i]=explode("[+]",$txtfile[$i]);
usort($a,'fsort');
}
?>
Правильно ли я всё сделал и как вывести получившееся?
 

croose

Новичок
Фанат

Я пробовал заносить print_r($a) в существующий цикл, но выводится массив, как отделить полученные данные из этого массива не пойму...

PHP:
Array ( [0] => Array ( [0] => Вася [1] => 12 [2] => ) [1] =>
Array ( [0] => Федя [1] => 23 [2] => ) [2] =>
Array ( [0] => Петя [1] => 34 [2] => ) [3] =>
Array ( [0] => Маша [1] => 53 [2] => ) )
 

croose

Новичок
WP

Согласен, ошибся.

PHP:
<?
function fsort($a,$b){
return strnatcmp($a[1],$b[1]);
}

$txtfile=@file("text.txt");
for($i=0;$i<count($txtfile);$i++){
$a[$i]=explode("[+]",$txtfile[$i]);
}
usort($a,'fsort');
for($i=0;$i<count($txtfile);$i++){
print_r($a[$i][0]." ".$a[$i][1]."<br>\r\n");}
?>
Рационально ли это решение?

-~{}~ 07.11.06 10:13:

Позвольте еще один вопрос:

Как запомнить на какой строке в файле стоит полученное?
Допустим до сортировки через цикл я получал:

Петя[+]34[+] - строка 0
Вася[+]12[+] - строка 1
Маша[+]53[+] - строка 2
Федя[+]23[+] - строка 3

А после сортировки естественно цикл запускается заново, а как мне сделать следующее:

Вася[+]12[+] - строка 1
Федя[+]23[+] - строка 3
Петя[+]34[+] - строка 0
Маша[+]53[+] - строка 2

Как сохранить переменную $i в сортировке не пойму...
 

Фанат

oncle terrible
Команда форума
у меня есть сильное подозрение, что теюе это не надо.
ты слышал о таком операторе, как foreach?
 
Сверху