在这里坐了几个小时,但我看不出什么问题。PHP阵列搜索和fgetcsv
我有1个文件: Gross_matching.csv:
Actionspiele,77
Strategiespiele,112
而且关键字 “Actionspiele,Strategiespiele”。
想要得到这个文件,然后在“Actionspiele”之后搜索并且想要得到“77 | 112”。但我得到“77 | 77”。有人知道为什么吗?
<?php
if (!empty($articleData['keywords'])) {
$temp_dir = "...";
if (file_exists($temp_dir."gross_matching.csv")) {
$csv = array();
$file_gross = fopen($temp_dir."gross_matching.csv", 'r');
while (($result = fgetcsv($file_gross, ",")) !== false) {
$csv[] = $result;
}
fclose($file);
} else {
$articleData['attr_attr18'] .= " | File not found";
}
if (!empty($csv)) {
$string = '';
$keywords = explode(",", $articleData['keywords']);
if(is_array($keywords)) {
foreach($keywords as $key => $value) {
$pos = array_search($value, $csv);
$string .= $csv[$pos][1]."|";
}
if (!empty($string)) {
$articleData['attr_attr18'] = $string;
} else {
$articleData['attr_attr18'] .= " - String empty";
}
}
} else {
$articleData['attr_attr18'] .= " - csv empty";
}
} else {
$articleData['attr_attr18'] .= " - not Gross";
}
?>
也将搜索放入它自己的函数中。所有这些if和else的树以及什么都不是和temp在这里,关键词那里只有阻碍。 – hakre
如果您添加更多的CSV数据,而不仅仅是两个搜索信息,那将会很不错,因为还有很多事情仍然需要考虑,如重复的关键字等,您还应该为您的数据添加预期输出 – Baba