$param = array(
'A1' => array('title'=>'标题001','content'=>'content001'),
'A2' => array('title'=>'标题002','content'=>'content002'),
'A3' => array('title'=>'标题001','content'=>'content003'),
'A4' => array('title'=>'标题003','content'=>'content004'),
'A5' => array('title'=>'标题003','content'=>'content004'),
'A6' => array('title'=>'标题003','content'=>'content004'),
'A7' => array('title'=>'标题003','content'=>'content004'),
'A8' => array('title'=>'标题001','content'=>'content005'),
'A9' => array('title'=>'标题005','content'=>'content005')
);要求:数组中的相同title值不能同时多余2条,即只能 <=2 条,把多余的过滤掉
需要的结果如下所示:
$param = array(
'A1' => array('title'=>'标题001','content'=>'content001'),
'A4' => array('title'=>'标题003','content'=>'content004'),
'A5' => array('title'=>'标题003','content'=>'content004'),
'A8' => array('title'=>'标题001','content'=>'content005'),
'A9' => array('title'=>'标题005','content'=>'content005')
);
'A1' => array('title'=>'标题001','content'=>'content001'),
'A2' => array('title'=>'标题002','content'=>'content002'),
'A3' => array('title'=>'标题001','content'=>'content003'),
'A4' => array('title'=>'标题003','content'=>'content004'),
'A5' => array('title'=>'标题003','content'=>'content004'),
'A6' => array('title'=>'标题003','content'=>'content004'),
'A7' => array('title'=>'标题003','content'=>'content004'),
'A8' => array('title'=>'标题001','content'=>'content005'),
'A9' => array('title'=>'标题005','content'=>'content005')
);要求:数组中的相同title值不能同时多余2条,即只能 <=2 条,把多余的过滤掉
需要的结果如下所示:
$param = array(
'A1' => array('title'=>'标题001','content'=>'content001'),
'A4' => array('title'=>'标题003','content'=>'content004'),
'A5' => array('title'=>'标题003','content'=>'content004'),
'A8' => array('title'=>'标题001','content'=>'content005'),
'A9' => array('title'=>'标题005','content'=>'content005')
);
$param = array(
'A1' => array('title'=>'标题001','content'=>'content001'),
'A2' => array('title'=>'标题002','content'=>'content002'),
'A3' => array('title'=>'标题001','content'=>'content003'),
'A4' => array('title'=>'标题003','content'=>'content004'),
'A5' => array('title'=>'标题003','content'=>'content004'),
'A6' => array('title'=>'标题003','content'=>'content004'),
'A7' => array('title'=>'标题003','content'=>'content004'),
'A8' => array('title'=>'标题001','content'=>'content005'),
'A9' => array('title'=>'标题005','content'=>'content005')
);
$arrTmp = array();
foreach($param as $key => $val) {
if (!isset($arrTmp[$val['title']])) $arrTmp[$val['title']] = 1;
else {
if ($arrTmp[$val['title']] == 2) unset($param[$key]);
else $arrTmp[$val['title']] += 1;
}
}
print_r($param);
<?php
$param = array(
'A1' => array('title'=>'标题001','content'=>'content001'),
'A2' => array('title'=>'标题002','content'=>'content002'),
'A3' => array('title'=>'标题001','content'=>'content003'),
'A4' => array('title'=>'标题003','content'=>'content004'),
'A5' => array('title'=>'标题003','content'=>'content004'),
'A6' => array('title'=>'标题003','content'=>'content004'),
'A7' => array('title'=>'标题003','content'=>'content004'),
'A8' => array('title'=>'标题001','content'=>'content005'),
'A9' => array('title'=>'标题005','content'=>'content005')
);
$tmp = array();
foreach($param as $r) {
/*
if(!isset($tmp[$r['title']])) {
$tmp[$r['title']][] = $r;
continue;
}*/
// 上面省略的话,就要用@抑制$tmp不存在索引时的错误信息输出
if(@count($tmp[$r['title']]) < 2) {
$tmp[$r['title']][] = $r;
}
}
print_r($tmp);
?>
</pre>
'id1' => array('title'=>'AAA'),
'id2' => array('title'=>'BBB'),
'id3' => array('title'=>'CCC'),
'id4' => array('title'=>'CCC'),
'id5' => array('title'=>'CCC'),
'id6' => array('title'=>'CCC')
}上面4条title相同,只保留两条:
我需要把上面的数组变为如下结果:
$param = array(
'id1' => array('title'=>'AAA'),
'id2' => array('title'=>'BBB'),
'id3' => array('title'=>'CCC'),
'id4' => array('title'=>'CCC'),
}
$param = array(
'id1' => array('title'=>'AAA'),
'id2' => array('title'=>'BBB'),
'id3' => array('title'=>'CCC'),
'id4' => array('title'=>'CCC'),
'id5' => array('title'=>'CCC'),
'id6' => array('title'=>'CCC')
);
$count = array();
foreach($param as $k => $v)
{
if($count[$v['title']]++ > 1)
{
unset($param[$k]);
}
}
$param = array(
'A1' => array('title'=>'标题001','content'=>'content001'),
'A2' => array('title'=>'标题002','content'=>'content002'),
'A3' => array('title'=>'标题001','content'=>'content003'),
'A4' => array('title'=>'标题003','content'=>'content004'),
'A5' => array('title'=>'标题003','content'=>'content004'),
'A6' => array('title'=>'标题003','content'=>'content004'),
'A7' => array('title'=>'标题003','content'=>'content004'),
'A8' => array('title'=>'标题001','content'=>'content005'),
'A9' => array('title'=>'标题005','content'=>'content005')
);
$array = array();
foreach ($param as $key=>$value){
@$array[$value['title']]++;//不加@号会报undefine的错误
if ($array[$value['title']] > 2){
unset($param[$key]);
}
}
echo "<pre>";
print_r($param);