csv字符串比较不起作用

时间:2017-07-04 12:55:10

标签: php csv encoding utf-8 php-5.4

我正在检查一个字符串是否出现在一个充满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)

1 个答案:

答案 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;

代码未经过测试,请告诉我这是否对您有所帮助。