我正在尝试查看是否在没有运气的数组中存在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";
} 但即使我知道它确实存在,也不是每次都能找到它。我哪里错了?
发布于 2019-05-03 06:07:19
请注意,您的数组元素是具有1个元素的数组。您可以使用array_column来提取它们。考虑一下:
if (in_array("1C6RR7FG2JS178810", array_column($vin, "0"))){
echo "found";
} else {
echo "not found";
} 我怀疑你没有正确添加数据。请注意,使用$vin[] = array($data);会将数据添加到由数组包装的$vin元素中--我想您应该只做$vin[] = $data; (这可能会在某个循环中进行...
发布于 2019-05-03 06:10:56
您在array中的追加变量类型将第二个array追加到array中的0 key,并创建多维数组。
$array[] = ['someX'];
if (in_array('someX', $array[0])){
echo "yes";
}在本例中,someX变量位于0键上,因此数组将如下所示:
Array
(
[0] => Array
(
[0] => someX
)
)如果您决定使用多维数组,请查看此链接:in_array() and multidimensional array
if(array_search('1C6RR7FG2JS178810', array_column($vin, "0")) !== false) {
echo 'value is in multidim array';
}
else {
echo 'value is not in multidim array';
}https://stackoverflow.com/questions/55960744
复制相似问题