希望您能帮我解决这个尴尬的问题。 我试图从 csv 文件中的所有行获取某个值,在 in_array() 之前一切正常。
CSV 文件如下所示:
Mach Vu,11-25-2012 21:32:39,row1
Mach Vu,11-25-2012 21:32:46,row2
我试图从每一行获取最后一个值(即“row1”、“row2”)。
这是我的代码:
$i = 1;
foreach($array2 as $key=>$value) {
foreach($array2[$key] as $value2) {
if($i % 3 == 0) {
$array3[] = $value2;
}
$i++;
}
}
print_r($array3);
echo "<br />";
if(in_array("row1", $array3)) {echo "yes";} else {echo "no";}
数组 3 正在打印:
Array (
[0] => row1
[1] => row2
)
预先感谢您的帮助!祝一切顺利!
最佳答案
这可以为您解决这个问题,同时还可以稍微缩减您的代码并显着提高性能。
我的猜测是,由于额外的空格,in_array 不起作用,因此添加了trim()
$search = "row1";
$col = 2;
$found = false;
foreach ($array2 as $key => $value) {
if (trim($value[$col]) == $search) {
$found = true;
break;
}
}
print_r($array3);
print($found ? "yes" : "no");
关于php - in_array 的问题,返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13559226/