我正在检查一个字符串是否出现在一个充满fgetcsv()
的数组中,我检查了内容及其包含在数组中的字符串,但in_array()
返回false
function checkFieldCSV($index,$code){
$codes = array();
if (($handle = fopen("./csv/file.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
array_push($codes, explode(';', $data[0])[$index] );
}
fclose($handle);
}
$codes = removeCommas($codes);
var_dump($codes);
var_dump($code);
return in_array($code, $codes);
}
输出:
bool(false)
答案 0 :(得分:0)
我认为您尝试搜索二维数组。
array_push($codes, explode(';', $data[0])[$index] );
这将导致$ codes [0] [0 ... n],因此数组不会工作。
尝试以下
$found = false;
foreach($codes as $key=>$value){
$found = in_array($code, $value);
}
return $found;
代码未经过测试,请告诉我这是否对您有所帮助。