函数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";?>程序为什么出错? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 in_array 的第一个参数应该是单值数据如果是数组的话,应该用 array_intersect 即取交集 http://docs.php.net/manual/zh/function.in-array.php更新日志版本 说明4.2.0 在 PHP 版本 4.2.0 之前,needle 不允许是一个数组。 PHP官方中文文档,上面是什么意思? <? $x1=array(array("a","b"),"c"); $y1=in_array(array("a","b"),$x1); //在二维数组中找。 echo $y1; echo "\r\n"; $x2=array(array(array("1","2"),"b"),"c"); $y2=in_array(array("1","2"),$x2); //在三维数组中找 echo $y2; echo "\r\n";?>在一维数组中,查找,返回:1为什么在三维数组中,查找,返回:0 ? echo in_array(array(array("1","2"),"b"),array(array(array("1","2"),"b"),"c"))?'true':'false';如果你自己手写一下in_array函数,你就知道为什么了.... 比较只在第一维进行如果第一个参数数组,那是连结构一起匹配的$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)因此建议你不要这样用,还是只传单值数据较为妥当 <?$x2=array(array(array("1","2"),"b"),"c"); $y2=in_array(array("1","2"),$x2); //在三维数组中找 echo $y2; echo "\r\n";?>为什么程序,结果是找不到,返回:0? $x2 = array( array(array("1","2"),"b"), "c");第一维是这样的你去找 array("1","2") 当然是找不到的 web.config可以实现将根目录下的一个php文件绑定为二级域名吗? 求一段正则替换.. dl函数不会用 Smarty - php 模板编译引擎 一个mysql的问题 怎么判断一个字符串里面的内容是否全是数字? 下载文件时能否 不直接打开文件 怎么得到变量的名字? PHP5,运行出错。。 php openx 注册不了用户 这样能做到防注入? PDO exec update
http://docs.php.net/manual/zh/function.in-array.php更新日志版本 说明
4.2.0 在 PHP 版本 4.2.0 之前,needle 不允许是一个数组。 PHP官方中文文档,上面是什么意思?
<?
$x1=array(array("a","b"),"c");
$y1=in_array(array("a","b"),$x1); //在二维数组中找。
echo $y1;
echo "\r\n"; $x2=array(array(array("1","2"),"b"),"c");
$y2=in_array(array("1","2"),$x2); //在三维数组中找
echo $y2;
echo "\r\n";?>
在一维数组中,查找,返回:1
为什么在三维数组中,查找,返回:0 ?
echo in_array(array(array("1","2"),"b"),array(array(array("1","2"),"b"),"c"))?'true':'false';如果你自己手写一下in_array函数,你就知道为什么了....
如果第一个参数数组,那是连结构一起匹配的
$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)因此建议你不要这样用,还是只传单值数据较为妥当
$x2=array(array(array("1","2"),"b"),"c");
$y2=in_array(array("1","2"),$x2); //在三维数组中找
echo $y2;
echo "\r\n";
?>
为什么程序,结果是找不到,返回:0?
array(array("1","2"),"b"),
"c"
);
第一维是这样的
你去找 array("1","2") 当然是找不到的