如何在php中对文本文件进行排序

如何在php中对文本文件进行排序,php,Php,如果我用php阅读了这个文本文件,那么如何从第二行开始排序,第一行是文件的标题。这样文件就会像..一样打印出来 english, lang1, lang2 rat, rat_lang1, rat_lang2 ball, ball_lang1, ball_lang2 air, air_lang1, air_lang2 我使用fopen读取文件,使用fread将其放入$content中,使用用新行分解。我可以看到行的数组,但不知道如何排序。如有任何建议,我们将不胜感激。此解决方案的大部分内容已在回

如果我用php阅读了这个文本文件,那么如何从第二行开始排序,第一行是文件的标题。这样文件就会像..一样打印出来

english, lang1, lang2
rat, rat_lang1, rat_lang2
ball, ball_lang1, ball_lang2
air, air_lang1, air_lang2

我使用
fopen
读取文件,使用
fread
将其放入
$content
中,使用
用新行分解。我可以看到行的数组,但不知道如何排序。如有任何建议,我们将不胜感激。

此解决方案的大部分内容已在回复您问题的评论中得到回答。所有这些加在一起,您需要的是:

english....
air....
ball...
rat....
试试这个:

<?php
$f = file("text.txt"); //read the text file into an array
$newf = fopen("newtext.txt", "w+"); //open another file
$header = $f[0]; //store the first element of the array as $header
echo $header."<br>"; //and echo the header
fwrite($newf, $header); //write the header to the new file
array_shift($f); //then remove the first element of the array i.e. the header
sort($f); //sort the array (no flag param = alphabetical sort)
foreach($f as $line){ //loop through the sorted array
    echo $line."<br>"; //print each element as it's own line
    fwrite($newf, trim($line)."\n"); //write other elements to new file on own line
}
fclose($newf); //close the file
?>

可能新文件(myfile.txt)需要对您正在写入的目录具有写入权限,在我的情况下,该文件已存储到C:/…/htdocs/myfile.txt

文件是多行的,在lang2之后有一个中断。有趣的是,调用的函数是您需要的,而不是
fread()
explode()
,您可以使用
file()
将文件读入行数组。我遇到了一些间距问题,但似乎效果很好。如何将其保存到新文件中?我似乎无法理解它。当我尝试实现对脚本的更改时,我遇到了一个“解析错误:语法错误,意外的“$header”(T_变量)。请确保所有行都以分号(;)结尾
$data = trim(file_get_contents('sort_test.txt'));
$data = explode("\n", $data);
$array_order = array();
$fileLocation = getenv("DOCUMENT_ROOT") . "/myfile.txt";
$file = fopen($fileLocation, "w");
for ($i = 0; $i < count($data); $i++) {
   ($i > 0) ? $array_order[$i] = $data[$i] : fwrite($file, $data[0]); 
}
sort($array_order);
$data = implode("\n", $array_order);
fwrite($file, $data);
fclose($file);
echo 'file created - location::' . $fileLocation;
english, lang1, lang2
air, air_lang1, air_lang2
ball, ball_lang1, ball_lang2
rat, rat_lang1, rat_lang2