日期:2014-05-17  浏览次数:20446 次

函数in_array( ),第1个参数是数组,可以么?

<?
    $x1=array(1=>111,2=>222,3=>333);
    $x2=array(1=>777,2=>111,3=>222,4=>333)
    $y=in_array($x1,$x2);           //第1个参数是数组。
    echo $y;
    echo "\r\n";
?>



程序为什么出错?

------解决方案--------------------
比较只在第一维进行
如果第一个参数数组,那是连结构一起匹配的
$a = array(array("a","b"),"c");
var_dump( in_array(array("a","b"), $a) ); //bool(true)
var_dump( in_array(array("b","a"), $a) ); //bool(false)

因此建议你不要这样用,还是只传单值数据较为妥当