使用CSV和php进行数组搜索

时间:2012-07-27 00:29:13

标签: php csv fopen

嘿,我正在尝试使用以下代码搜索CSV文件:

$fh = fopen($myFile, "r");
$os = array(fgetcsv($fh));

if (in_array("12.56.102.44", $os)) {
    echo "Got it!";
}

CSV采用以下格式:

"132.89.14.110","41.98.365.111","12.56.102.44","77.295.10.111",

然而,这不起作用,所以我确定我使用不正确......

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:3)

fgetcsv()已经返回一个数组。你应该这样调用函数:

$os = fgetcsv($fh);

将返回值放在数组中会使$os的值如下:

array(array("132.89.14.110","41.98.365.111","12.56.102.44","77.295.10.111"))

如果您需要检查文件中有多行,则必须使用循环,例如:

$fh = fopen($myFile, "r");
while(($os = fgetcsv($fh)) !== false) {
    if (in_array("12.56.102.44", $os)) {
        echo "Got it!";
        break; // stop the loop, we're done
    }
}