这段php代码怎么改成倒序读取文件 50
<pre><?phpdefine(LINE_CHAR,strtoupper(PHP_OS)=="WINNT"?"\r\n":"\n");$file=fopen("a.tx...
<pre><?php
define(LINE_CHAR, strtoupper(PHP_OS)=="WINNT" ? "\r\n":"\n");
$file = fopen("a.txt", "r");
$data = array();
while(!feof($file)) {
if (count($data)==3) {
break;
}
$data[] =str_replace(LINE_CHAR, "", "[".fgets($file)."]");
$data = array_unique($data);
$data =array_diff($data, array("[]"));
}
echo implode(LINE_CHAR, $data);
?>
现在是正序读a.txt,怎么倒序读a.txt 展开
define(LINE_CHAR, strtoupper(PHP_OS)=="WINNT" ? "\r\n":"\n");
$file = fopen("a.txt", "r");
$data = array();
while(!feof($file)) {
if (count($data)==3) {
break;
}
$data[] =str_replace(LINE_CHAR, "", "[".fgets($file)."]");
$data = array_unique($data);
$data =array_diff($data, array("[]"));
}
echo implode(LINE_CHAR, $data);
?>
现在是正序读a.txt,怎么倒序读a.txt 展开
展开全部
可以用php自带函数arsort() ——对数组进行逆向排序并保持索引关系。
在
echo implode(LINE_CHAR, $data);
前面加$data=arsort($data);
在
echo implode(LINE_CHAR, $data);
前面加$data=arsort($data);
更多追问追答
追问
那个已经是截取完文件100个的了,我要截取文件后100个
追答
那还是要用到php自带函数array_slice() ——函数在数组中根据条件取出一段值,并返回。
array_slice(array,offset,length,preserve)
参数描述
array 必需。规定输入的数组。
offset 必需。数值。规定取出元素的开始位置。如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。
length 可选。数值。规定被返回数组的长度。如果 length 为正,则返回该数量的元素。如果 length 为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始直到 array 的末端。
preserve 可选。可能的值:true - 保留键false - 默认 - 重置键
例子
<?php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2));
?>
输出:
Array ( [0] => Cat [1] => Horse )
array_slice(array,100,199)——得到数组第100到200的元素
$total = count(array);//数组元素个数
array_slice(array,$total-100,$total)——得到数组最后100个元素
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询