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"; 

但是即使我知道确实存在,也没有每次都找不到节目。我要去哪里错了?


慕雪6442864
浏览 133回答 2
2回答

茅侃侃

请注意,您的array元素是具有1个元素的array。您可以使用array_column提取它们。考虑:if (in_array("1C6RR7FG2JS178810", array_column($vin, "0"))){     echo "found"; } else {     echo "not found"; } 我怀疑您没有正确添加数据。注意using$vin[] = array($data);是向$vin数组包装的元素中添加数据-我想您应该这样做$vin[] = $data;(这可能会发生一些循环...

慕姐4208626

您在数组中附加变量的类型将第二个数组附加到数组中的0键,并创建多维数组。$array[] = ['someX'];if (in_array('someX', $array[0])){  echo "yes";}在此示例中,someX变量位于0键上,因此该数组将如下所示:Array(    [0] => Array        (            [0] => someX        ))如果您决定使用多维数组,请查看以下链接: in_array()和多维数组if(array_search('1C6RR7FG2JS178810', array_column($vin, "0")) !== false) {    echo 'value is in multidim array';}else {    echo 'value is not in multidim array';}
打开App,查看更多内容
随时随地看视频慕课网APP