我有一个csv文件,我想在特定列中搜索值,如果找到相应的行应该在数组中设置。 我已经有了工作,但是如果有多行具有该值,那么我的代码只有最后一个代表变量,因为它会覆盖之前的代码。
我怎样才能使它能够分开回显所有行?也许在一个多维数组? 我是php的初学者,帮助很大程度上是apreciated。 感谢
$search = $station;
if (($handle = fopen("CSV-data/airport-frequencies.csv", "r")) !== FALSE) {
$row=0;
$csv_row = array();
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if ($data[2] == $search) {
$csv_row = $data;
}
}
fclose($handle);
echo $csv_row[3] . "<br />"; //type
echo $csv_row[4] . "<br />"; //description
echo $csv_row[5] . "<br />"; //frequency
echo "<hr /><br />";
}
答案 0 :(得分:2)
你是对的,你需要一个数组数组。所以这样的事情对你有用:
$search = $station;
if (($handle = fopen("CSV-data/airport-frequencies.csv", "r")) !== FALSE) {
$row=0;
$csv_row = array();
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if ($data[2] == $search) {
$csv_row[] = $data;
}
}
fclose($handle);
foreach ($csv_row as $row) {
echo $row[3] . "<br />"; //type
echo $row[4] . "<br />"; //description
echo $row[5] . "<br />"; //frequency
echo "<hr /><br />";
}
}