加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – in_array()如果??使用explode()创建数组,则不再按预期工

发布时间:2020-12-13 21:53:54 所属栏目:PHP教程 来源:网络整理
导读:首先,我将我的字符串更改为数组.而当我尝试在该数组内搜索时无法搜索第二个数组值.以下是我的代码. //my string$a = 'normal,admin';//Change string to array$arr = explode(",",$a);// Search by array valuedd(in_array("admin",$arr)); //got false 但是
首先,我将我的字符串更改为数组.而当我尝试在该数组内搜索时无法搜索第二个数组值.以下是我的代码.

//my string
$a = 'normal,admin';
//Change string to array
$arr = explode(",",$a);
// Search by array value
dd(in_array("admin",$arr)); //got false

但是,当我尝试搜索类似下面的内容时,它就可以了.

//my string
$a = 'normal,$a);
// Search by array value
dd(in_array("normal",$arr)); //got true

解决方法

这是因为值admin具有来自explode()的前导空格!
如果你这样做,你可以看到这个:

var_dump($arr);

输出:

array(2) {
  [0]=>
  string(6) "normal"
  [1]=>
  string(6) " admin"
       //^   ^ See here
}

要解决此问题,只需将trim()array_map()结合应用于每个数组值,如下所示:

$arr = array_map("trim",$arr);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读