Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:将两组代码合并为一组(以实现以某种方式显示文本文件)_Php_Sorting - Fatal编程技术网

PHP:将两组代码合并为一组(以实现以某种方式显示文本文件)

PHP:将两组代码合并为一组(以实现以某种方式显示文本文件),php,sorting,Php,Sorting,我有两套代码,它们都是独立工作的,但我需要将它们结合起来,但我一直无法做到这一点 最终结果应该是按字母顺序逐行显示一个文本文件,其中包含数组#(因此数组编号应该显示在每行的末尾) 第一段代码 <?php $filename="users.txt"; $lines = array(); $file = fopen($filename, "r"); while(!feof($file)) { $lines[] = fgets($file,4096); } natcasesor

我有两套代码,它们都是独立工作的,但我需要将它们结合起来,但我一直无法做到这一点

最终结果应该是按字母顺序逐行显示一个文本文件,其中包含数组#(因此数组编号应该显示在每行的末尾)

第一段代码

<?php
$filename="users.txt"; 
$lines = array();
$file = fopen($filename, "r");

while(!feof($file)) { 
    $lines[] = fgets($file,4096);
} 

natcasesort($lines);
$text = implode("<br />", $lines);
print_r($text);

fclose ($file); 
?>
<?php 
 $lines = file('users.txt'); 
 foreach ($lines as $line_num => $line) 
{ 
 print "<font color=red>Line #{$line_num}</font> : " . $line . "<br />\n"; 
 }
 ?> 

第二段代码

<?php
$filename="users.txt"; 
$lines = array();
$file = fopen($filename, "r");

while(!feof($file)) { 
    $lines[] = fgets($file,4096);
} 

natcasesort($lines);
$text = implode("<br />", $lines);
print_r($text);

fclose ($file); 
?>
<?php 
 $lines = file('users.txt'); 
 foreach ($lines as $line_num => $line) 
{ 
 print "<font color=red>Line #{$line_num}</font> : " . $line . "<br />\n"; 
 }
 ?> 

有两种简单的方法可以做到这一点。此选项仅适用于PHP>=5.4.0:

$lines = file('users.txt');
asort($lines, SORT_NATURAL | SORT_FLAG_CASE); // natcasesort that preserves keys!

foreach ($lines as $num => $line) { 
    printf("%s (line #%d)<br>", $line, $num);
}

在这两种情况下,我们的想法都是使用一个保持索引关联的排序函数,这样在对行进行排序之后,它们仍然按照其原始键(即文件中的行号)进行索引。
usort
uasort
都这样做
uasort
允许您自己指定排序比较函数,而
usort
只允许几个内置选项(PHP<5.4中不包括自然排序)


顺便说一句:请不要再使用
标记。

您尝试过更改变量名吗-_-我有一个旧版本,所以第二个很好用。也可以将线条颜色更改为红色。我不知道如何在第#{$Line_num}行中添加这个脚本。我从其他地方得到了这个脚本,所以我应该使用样式表来更改字体颜色。或者你指的是别的什么?@KGreen:像
xx
这样简单的东西就可以了,但是看看CSS引用。