首页 > 解决方案 > PHP检查数组中是否存在字符串不起作用

问题描述

我正在尝试查看一个 vin 号是否存在于一个没有运气的数组中。这是我的数组结构-

$vin[] = array($data);

Array ( [0] => Array ( [0] => 1C6RR7FG2JS178810 ) [1] => Array ( [0] => 1C6RR7FG2JS178810 ) [2] => Array ( [0] => 1C6RR7FG2JS178810 ) [3] => Array ( [0] => 1C6RR7FG2JS178810 )

以及使用 in_array 检查数组的方法 -

if (in_array("1C6RR7FG2JS178810", $vin)){ 
    echo "found"; 
}else{ 
    echo "not found"; 
} 

但即使我知道它确实存在,但每次都找不到节目。我哪里错了?

标签: phparrays

解决方案


请注意,您的数组元素是具有 1 个元素的数组。您可以使用array_column来提取它们。考虑:

if (in_array("1C6RR7FG2JS178810", array_column($vin, "0"))){ 
    echo "found"; 
} else { 
    echo "not found"; 
} 

我怀疑您没有正确添加数据。注意使用$vin[] = array($data);正在向数组包装的元素添加数据$vin- 我想你应该这样做$vin[] = $data;(这可能会进入某个循环......


推荐阅读