PHP高手请进。把一个三维数组里的所有二维数组取出来比较,取交集...

请教PHP高手,有一个三维数组,是动态加载的三维数组。所以三维数组有N个二维数组中的N是动态的,不是固定的。现在要求是把这个三维数组里N个二维数组取出来取交集。。。$re... 请教PHP高手,
有一个三维数组,是动态加载的三维数组。所以三维数组有N个二维数组中的N是动态的,不是固定的。
现在要求是把这个三维数组里N个二维数组取出来取交集。。。

$result_arr = array_intersect_assoc($arr_sourse[0],$arr_sourse[1],.......$arr_sourse[N-1]);

请教高手,这个函数如何去实现。。。
就是省略号那里的问题,如果三维数组里有5个二维数组。那么array_intersect_assoc()这个函数里的参数就有5个。
同样的道理,如果有7个,array_intersect_assoc函数的参数就有7个。
展开
 我来答
5detuan
2011-03-07 · 超过29用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:83.4万
展开全部
//foreach三维,一步步算下去就行

$arr = array(
array('a'=>'1','b'=>'2','c'=>'5','d'=>'56'),
array('a'=>'1','c'=>'5','d'=>'56'),
array('a'=>'1','c'=>'5','e'=>'44'),
array('a'=>'1','c'=>'5','d'=>'56','f'=>'d')
);

if (count($arr)>0)
{
foreach($arr as $key=>$val)
{
if ($key==0)//第一个先取出来
{
$tmp_arr = $val;
}
else
{
$tmp_arr = array_intersect_assoc($tmp_arr,$val);
}
}

}

print_r($tmp_arr);
cloudyhaha
2011-03-07 · TA获得超过533个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:89.2万
展开全部
可以用递归算法实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式