PHP倒序读取TXT文件每14行输出分页页码的实现问题
解决方案
核心优化&修改点
- 将文件读取逻辑移到循环外部,避免循环120次重复读取文件带来的不必要性能损耗
- 替换原判断条件内的
$i输出逻辑,改用页码计算公式输出1、2、3格式的分页序号
页码计算逻辑说明
你当前是倒序遍历120行文本(下标范围0~119),每14行分为1页:
- 如果你需要顺排页码(最先输出的14行为第1页,后续依次累加),使用公式:
ceil((119 - $i + 1) / 14) - 如果你需要倒排页码(最先输出的14行为最后1页,后续依次递减),使用公式:
$i / 14 + 1
修改后完整代码
// 仅读取一次文件内容 $lines = file("lines.txt"); for($i = 119; $i >= 0; $i--){ $line = $lines[$i]; echo "$line<br>"; if( $i % 14 === 0 ){ // 顺排页码用下方代码 echo ceil((119 - $i + 1) / 14) . "<br>"; // 需倒排页码则注释上一行,取消下一行注释 // echo intval($i / 14 + 1) . "<br>"; } }
效果验证
原触发条件下输出0会对应替换为1,输出14对应替换为2,输出28对应替换为3,完全匹配需求。
内容的提问来源于stack exchange,提问作者sendy3991
相关产品推荐
相关产品推荐

