我一直在尋找和測試一個星期,但沒有運氣。我想用以下 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 關注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消