php - 这段代码有什么问题,我使用的是 PHP 8
问题描述
循环永远不会停止,它也总是打印,不仅当 $i 等于 8
$file = file_get_contents ($fileUrl);
$i = 0;
while ($line = explode ("\r\n", $file)) {
if ($i == 8) {
print_r ($line);
exit ();
}
$i++;
}
顺便说一句,我需要使用 file_get_contents 因为我使用的是 DOM,但我使用该代码是因为我需要第 8 行中的数据,有没有更好的方法来获取特定行
解决方案
你没有循环通过这些线路。您正在设置$line
为所有行的数组,而不是特定行。而且您每次通过循环都将其设置为相同的东西,因此while
条件永远不会改变。
$i == 8
但是,由于exit()
调用,循环应该停止。然后它将打印所有带有print_r()
.
如果你想要 line 8
,只需索引数组。
$lines = explode("\r\n", $file);
if (count($lines) >= 9) {
print_r($lines[8]);
}
仅供参考,您还可以使用file()
读取文件并将其拆分为行:
$lines = file($fileUrl, FILE_IGNORE_NEW_LINES);
推荐阅读
- python - 获取嵌套字典中最大值的记录
- ableton-live - 如何将 MIDI 键盘音符映射到宏
- html - 如何使用 hover::after 创建下拉列表?
- python - Matplotlib 在循环中创建多个图表的单个 pdf
- javascript - 使用 d3.js 向 svg 添加注释(文本 + 行)的功能?
- google-apps-script - 我可以在谷歌应用程序中存储和访问“通用”变量吗?
- julia - Julia 中的可拖动轴滑块
- python - 为什么当我尝试运行 import 语句时出现 ModuleNotFoundError?
- ios - iOS 键盘未在 WKWebView 上完全隐藏
- python - AWS Lambda:将消息转发到 Telegram 机器人