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个。 展开
有一个三维数组,是动态加载的三维数组。所以三维数组有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个。 展开
2个回答
展开全部
//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);
$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);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询