php - in_array 的问题,返回 false

标签 php arrays csv

希望您能帮我解决这个尴尬的问题。 我试图从 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/

相关文章:

php - WHERE 子句不起作用,包含代码示例

php - 在不裁剪的情况下在 PHP 中将图像调整为最大宽度或高度

javascript - 为什么 React 将我的数组视为空数组?

javascript - 打开 Excel 和 TextEdit 时 UTF8 CSV 文件的编码问题

php - 如何将自定义变量放入PHP错误日志

php - 如何对mysql的选择结果进行升序编号?

c++ - 调整大小和复制 C++ 数组

php - mysql 更新的动态数组创建 - php

python - 读取和写入同一个 csv 文件

在 R 中读取 CSV 并按名称过滤列