in_array 函数的第一个参数是数组 及 此数组是另一个数组子集的判断

函数in_array 的第一个参数是数组

我遇见的问题,第一个参数$a是数组

        $a                =    [3,'f','e'];

        $b                =    [3,5,'d','f','e'];

        var_dump(in_array($a ,$b));

打印出:

        bool(false)

第一个参数是单值数据

        var_dump(in_array('f' ,$b));

这时,打印出:

        bool(true)

直到查阅到:https://bbs.csdn.net/topics/390611609 的回复,才明白

        in_array() 的第一个参数应该是 单值数

再确认,http://docs.php.net/manual/zh/function.in-array.php,某个值

        


数组 $a 是 数组 $b 的子集

以下取经自:    http://www.jb51.net/article/119956.htm

foreach循环遍历:

        foreach($a as $v){
            if(in_array($v,$b)){
                 $flag    =    0;
            }
        }
        if($flag){
            echo    "$ a 是 $ b的子集。";
        }else{
            echo    "$ a 不是 $ b的子集!";
        }


array_diff  (差集)的使用:

        


        array_diff 的返回值:指在数组 $a 中有,但在数组 $b 中没有的数组元素。·

        if( !array_diff( $a ,$b ) ){    #这里取反
            echo     "数组 $ a 是数组 $ b 的子集。";
        }


array_intersect  (交集)的使用:    

      

        array_intersect 的返回值:指的是在数组 $a 中的所有元素,同时在其他数组中也拥有的元素组成的数组

        if ($a == array_intersect($a, $b)) {
            echo    "数组$ a 是 数组 $ b 的子集。";
        }

           




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值