PHP获取二维数组中相同的元素

主页 > 学习 > php >

mate 391

问:

比如

array(array('id' => '10'),array('id' => '2'),array('id' => '10'),array('id' => '3'),array('id' => '2'));

怎么获取这个二维数组中相同id的数组有几个。id是多少啊!


答:

$a = array(array('id' => '10'),array('id' => '2'),array('id' => '10'),array('id' => '3'),array('id' => '2'));
$ids = array();
foreach($a as $k=>$v)
{
foreach($v as $value)
{
if(!in_array($value,$ids))
$ids[] = $value;
}
}
foreach($a as $k=>$v)
{
foreach($v as $value)
{
foreach($ids as $key=>$id)
{
if($id == $value)
{
$res[$key]['id'] = $id;
$res[$key]['num']++;
}
}
}
}
print_r($ids);
print_r($res); 
Array
(
    [0] => 10
    [1] => 2
    [2] => 3
)
Array
(
    [0] => Array
        (
            [id] => 10
            [num] => 2
        )
    [1] => Array
        (
            [id] => 2
            [num] => 2
        )
    [2] => Array
        (
            [id] => 3
            [num] => 1
        )
)



随机新闻
收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!