PHP用递归实现相同值查找?

[复制链接]
查看11 | 回复2 | 2011-9-12 07:52:35 | 显示全部楼层 |阅读模式
//以$a[0]内的任意一个值为标准,检查不确定多个数组(可以count总数),如果存在一个值与$a[1]中的某个值相等,则$flag=\'1\';$flag=\'0\';$a[0]=array(4,9,10);$a[1]=array(2,6,9,10);$a[2]=array(54,d6,4);$a[3]=array(2,3,46,c7,8,9);$a[4]=array(0,a4,5,3,);$a[5]=array(2,v3,4,5,6,8,9);$a[6]=array(m2,33,f4,25,8,9);$a[7]=array(32,3,5,6,47,);//……$flag=\'\';$line=\'\';//如果$a中存在与$[0]中某个值相等,则$flag=\'1\';$line=\'$i\'1;//提示第$line行存在相同的值//如何用递归实现?或其他简单点的代码实现?
回复

使用道具 举报

千问 | 2011-9-12 07:52:35 | 显示全部楼层
这个用一个数据函数就行了?php$nums=count($a);for(i=1;i$nums;i){if(array_intersect($a[0],$a[1]);)//这个函数是用来取数组交集的,如果交集不为空,即存在某个值相等。{$flag=\"1\";$line=\'$i\'1;}elsecontinue;}?另外你定义数组中有错误,字符串要用引号括起来
回复

使用道具 举报

千问 | 2011-9-12 07:52:35 | 显示全部楼层
这是一个常规算法,楼上的array_intersect更接近于php的特点for($i=1;$icount($a);$i){$flag=\'0\';for($ii=0;$iicount($a[0]);$ii){if(in_array($a[0][$ii],$a[$i])){//$flag=\'1\';用不上了$line=$i1;echo\"existsinline\".$line.\"br/\\r\\n\";break;}}//if($flag==\'1\'){//echo\"existsinline\".$line.\"br/\\r\\n\";//}}至于执行效率,这个需要执行测试才知道
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行