我一直在寻找和测试一个星期没有运气。我想用下面的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循环。
发布于 2020-05-24 23:22:58
正如@Fellipe上面评论的那样,您可以通过几种方式打破循环,最简单的是简单的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
断开(PHP4,PHP5,PHP7)
中断结束当前的执行,同时或切换结构.
break接受一个可选的数值参数,该参数告诉它要分离多少嵌套的封闭结构。默认值为1,仅从.中分离出直接的封闭结构。
https://stackoverflow.com/questions/61993505
复制相似问题