多维数组拼写起来确实费点时间,试着写了一个,不知道是不是楼主所要的结果
array (size=4)
0 =>
array (size=3)
'id' => string '3' (length=1)
'time' => string '555' (length=3)
'neirong' => string 'delete' (length=6)
1 =>
array (size=3)
'id' => string '2' (length=1)
'time' => string '55' (length=2)
'neirong' => string 'www' (length=3)
2 =>
array (size=3)
'id' => string '4' (length=1)
'time' => string '555' (length=3)
'neirong' => string 'www' (length=3)
3 =>
array (size=3)
'id' => string '5' (length=1)
'time' => string '555' (length=3)
'neirong' => string 'www' (length=3)
array (size=4)
0 =>
array (size=3)
'id' => string '3' (length=1)
'time' => string '555' (length=3)
'neirong' => string 'delete' (length=6)
1 =>
array (size=3)
'id' => string '2' (length=1)
'time' => string '55' (length=2)
'neirong' => string 'www' (length=3)
2 =>
array (size=3)
'id' => string '4' (length=1)
'time' => string '555' (length=3)
'neirong' => string 'www' (length=3)
3 =>
array (size=3)
'id' => string '5' (length=1)
'time' => string '555' (length=3)
'neirong' => string 'www' (length=3)
$aa=array(
0=>array("id"=>"1","time"=>"5","neirong"=>"www"),
1=>array("id"=>"2","time"=>"55","neirong"=>"www"),
2=>array("id"=>"4","time"=>"555","neirong"=>"www"),
3=>array("id"=>"5","time"=>"555","neirong"=>"www")
);
$bb=array(
0=>array("id"=>"1","time"=>"5"),
1=>array("id"=>"2","time"=>"50"),
2=>array("id"=>"3","time"=>"555")
);
$cc=array();
for($i=0;$i<sizeof($bb);$i++){
$id=$bb[$i]['id'];
if(!array_search($id,$aa[$i]))
$cc[]=array('id'=>$id,"neirong"=>"delete");
}
for($i=0;$i<sizeof($aa);$i++){
for($j=0;$j<sizeof($bb);$j++){
if($aa[$i]['id']==$bb[$j]['id']){
if($aa[$i]['time']==$bb[$j]['time']) array_splice($aa,$i,1);
if($aa[$i]['time']>$bb[$j]['time']){
$cc[]=$aa[$i];
array_splice($aa,$i,1);
}
}
}
}
$cc=array_merge($cc,$aa);
print_r($cc);Array
(
[0] => Array
(
[id] => 3
[neirong] => delete
) [1] => Array
(
[id] => 2
[time] => 55
[neirong] => www
) [2] => Array
(
[id] => 4
[time] => 555
[neirong] => www
) [3] => Array
(
[id] => 5
[time] => 555
[neirong] => www
))
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'] < $v['time']) $r[$k] = $v;
elseif($r[$k]['time'] == $v['time']) unset($r[$k]);
}
ksort($r);
print_r($r);Array
(
[2] => 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
))
[3] => Array
(
[id] => 3
[time] => 555
)
不对哈 没delete [id] => 3
[neirong] => delete
我不能凭空臆造出 "neirong"=>"delete"
但你可以,因为规则是你制定的
你自己加上就是了
$aa[0]=array("id"=>"1","time"=>"5","neirong"=>"www");
$aa[1]=array("id"=>"2","time"=>"55","neirong"=>"www");
$aa[2]=array("id"=>"4","time"=>"555","neirong"=>"www");
$aa[3]=array("id"=>"5","time"=>"555","neirong"=>"www");$bb[0]=array("id"=>"1","time"=>"5");
$bb[1]=array("id"=>"2","time"=>"50");
$bb[2]=array("id"=>"3","time"=>"555");$c = array();$d = array();$e = array();$j = array();
foreach($bb as $v){
$e[] = $v['id'];
}
foreach($aa as $v){
$d[] = $v['id'];
}
$s = array_diff_assoc($e, $d);
$f = array_diff_assoc($d, $e);
$g = array_merge($s,$f);foreach($aa as $k=>$v){
foreach($bb as $k1=>$v1){
if($v['id']==$v1['id'] && $v1['time']>$v['time']){
$c[] = array('id'=>$v1['id'],'time'=>$v1['time'],'neirong'=>'delete');
}elseif($v['id']==$v1['id'] && $v1['time']<$v['time']){
$c[] = array('id'=>$v['id'],'time'=>$v['time'],'neirong'=>$v['neirong']);
} foreach($g as $v2){
if($v['id'] == $v2 && !in_array($v['id'], $j)){
$c[] = array('id'=>$v['id'],'time'=>$v['time'],'neirong'=>$v['neirong']);
$j[] = $v['id'];
}
if($v1['id'] == $v2 && !in_array($v1['id'], $j)){
$c[] = array('id'=>$v1['id'],'time'=>$v1['time'],'neirong'=>'delete');
$j[] = $v1['id'];
}
} }
}
var_dump($c);
?>
$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]))
{
$v['content']='delete';
$r[$k] = $v;
}
elseif($r[$k]['time'] < $v['time']) $r[$k] = $v;
elseif($r[$k]['time'] == $v['time']) unset($r[$k]);
}
ksort($r);
print_r($r);
?>s