array_diff为什么无效啊

  $a1=array("红");
        $a2=array("红","S","酸");
        $aaa=array_diff($a1,$a2) ;
        dump($aaa);//空数组

        $a3=array("r","green","blue","yel");
        $a4=array("r","green","blue");
        $result=array_diff($a3,$a4);
        dump($result);//yel`请输入代码`
12345678_0001
浏览 545回答 3
3回答

qq_笑_17

墨色风雨

array_diff 是拿第一个参数去和后面的参数做对比,返回出现在第一个数组参数中的元素,但这个元素没有出现在后面参数数组中的元素的集合,所以你第一个打印的是空数组,红这个元素,出现在后面的a2中了,所以空数组了,可以看下文档array_diff并不是名义上的返回多个数组的差集,简而言之应该是返回第一个参数数组中独一无二的(和后面参数的并集相比较)

千万里不及你

array_diff(array1,array2,array3...);返回差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键值。是有效的。
打开App,查看更多内容
随时随地看视频慕课网APP