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引用。