您好,欢迎访问一九零五行业门户网

问个二位数组操作有关问题

问个二位数组操作问题
$aa=array(id=>1,time=>5,neirong=>www);
$aa=array(id=>2,time=>55,neirong=>www);
$aa=array(id=>4,time=>555,neirong=>www);
$aa=array(id=>5,time=>555,neirong=>www);
$aaa=array(duibi=>$aa);
$bb=array(id=>1,time=>5);
$bb=array(id=>2,time=>50);
$bb=array(id=>3,time=>555);
$bbb=array(duibi=>$bb);
$aaa和$bbb对比操作 
变成
$cc=array(id=>2,time=>55,neirong=>www);
$cc=array(id=>3,neirong=>delete);
$cc=array(id=>4,time=>555,neirong=>www);
$cc=array(id=>5,time=>555,neirong=>www);
怎么写
先说明下
$aa=array(id=>1,time=>5,neirong=>www);这个数据之所已没有是因为 $aa和$bb时间是一样的
$aa=array(id=>2,time=>55,neirong=>www);
$bb=array(id=>2,time=>50);
那是因为bbdetime比aa得time小所以。。
$cc=array(id=>3,neirong=>delete);对应的$aa不存在所以。。
$cc=array(id=>4,time=>555,neirong=>www);
$cc=array(id=>5,time=>555,neirong=>www);
因为$bb没有对应的id 4和5的数据。。所以
------解决方案--------------------
$aa = array(
array(id=>1,time=>5,neirong=>www),
array(id=>2,time=>55,neirong=>www),
array(id=>4,time=>555,neirong=>www),
array(id=>5,time=>555,neirong=>www),
);
$bb = array(
array(id=>1,time=>5),
array(id=>2,time=>50),
array(id=>3,time=>555),
);
foreach($aa as $v) $r[$v['id']] = $v;
foreach($bb as $v) {
$k = $v['id'];
if(! isset($r[$k])) $r[$k] = $v;
elseif($r[$k]['time'] array
(
[id] => 2
[time] => 55
[neirong] => www
)
[3] => array
(
[id] => 3
[time] => 555
)
[4] => array
(
[id] => 4
[time] => 555
[neirong] => www
)
[5] => array
(
[id] => 5
[time] => 555
[neirong] => www
)
)

其它类似信息

推荐信息