驻足生活 2022-07-27 11:48 采纳率: 22.2%
浏览 34
已结题

php 的in_array()函数问题

$a = [0,1,2,3];
$b = (in_array('hello',$a));
var_dump($b);//返回true;(为什么会返回true$a = [1,2,3];
$b = (in_array('hello',$a));
var_dump($b);//返回false;

用array_search函数比较好;

  • 写回答

3条回答 默认 最新

  • 代码的灵魂是bug! 2022-07-27 14:28
    关注


    文档中的第一个用户提交的笔记中有说过:当与某些数组一起使用时,松散检查返回一些疯狂的、反直觉的结果。这是完全正确的行为,因为PHP对变量类型很宽容,但在“现实生活”中几乎无用。

    array_search函数一样判断有问题,如果是

    $a = [1,2,0,3];
    $b = array_search('hello',$a);
    var_dump($b);// 2,刚好就是0所在的下标
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月27日