首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP检查数组中是否存在不起作用的字符串

PHP检查数组中是否存在不起作用的字符串
EN

Stack Overflow用户
提问于 2019-05-03 05:54:08
回答 2查看 253关注 0票数 2

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

代码语言:javascript
复制
$vin[] = array($data);

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

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

代码语言:javascript
复制
if (in_array("1C6RR7FG2JS178810", $vin)){ 
    echo "found"; 
}else{ 
    echo "not found"; 
} 

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-03 06:07:19

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

代码语言:javascript
复制
if (in_array("1C6RR7FG2JS178810", array_column($vin, "0"))){ 
    echo "found"; 
} else { 
    echo "not found"; 
} 

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

票数 1
EN

Stack Overflow用户

发布于 2019-05-03 06:10:56

您在array中的追加变量类型将第二个array追加到array中的0 key,并创建多维数组。

代码语言:javascript
复制
$array[] = ['someX'];

if (in_array('someX', $array[0])){
  echo "yes";
}

在本例中,someX变量位于0键上,因此数组将如下所示:

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [0] => someX
        )

)

如果您决定使用多维数组,请查看此链接:in_array() and multidimensional array

代码语言:javascript
复制
if(array_search('1C6RR7FG2JS178810', array_column($vin, "0")) !== false) {
    echo 'value is in multidim array';
}
else {
    echo 'value is not in multidim array';
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55960744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档