我一直在寻找和测试一个星期,但没有运气。我想用以下 php 文件搜索 csv 文件的位置:<?php$csv = fopen("file.csv", "r");$row = fgetcsv($csv);foreach($_POST as $key => $value){ $result = $key;}while ($row = fgetcsv($csv)) { if(in_array($result, $row)) { echo json_encode($row); }}?>这适用于我需要的一部分。我有第二部分需要做同样的事情,除了只返回 csv 的第一个结果,而是为它匹配的所有位置返回多行,我尝试删除 while 循环
1 回答

智慧大石
TA贡献1946条经验 获得超3个赞
您可以通过几种方式跳出循环,最简单的是简单的break;语句
例如:
<?php
$csv = fopen("file.csv", "r");
$row = fgetcsv($csv);
foreach($_POST as $key => $value)
{
$result = $key;
}
while ($row = fgetcsv($csv)) {
if(in_array($result, $row)) {
echo json_encode($row);
break; // exit while() loop
}
}
?>
如果您的嵌套循环(循环中的循环),也请阅读 doco。然后你只需传入一个 int 匹配多少级别来“打破”,即:break 2;
http://php.net/manual/en/control-structures.break.php
中断(PHP 4、PHP 5、PHP 7)
break 结束当前 for、foreach、while、do-while 或 switch 结构的执行。
break 接受一个可选的数字参数,该参数告诉它要打破多少嵌套的封闭结构。默认值是 1,只有直接的封闭结构被打破。
没有找到匹配的内容?试试慕课网站内搜索吧
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消