通过 PHP 从 csv 文件返回第一个结果

我一直在寻找和测试一个星期,但没有运气。我想用以下 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 循环


翻翻过去那场雪
浏览 113回答 1
1回答

智慧大石

您可以通过几种方式跳出循环,最简单的是简单的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,只有直接的封闭结构被打破。
打开App,查看更多内容
随时随地看视频慕课网APP