欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何把时间数组同时列出来?

程序员文章站 2022-04-23 22:42:00
...
数据库打印后数组结果:
Array
(
    [0] => Array
        (
            [department] => 雅典娜
              [sign] => 0
            [time] => 2015年06月01日
            [surname] => 星史
        )

    [1] => Array
        (
            [department] => 雅典娜
            [sign] => 0
            [time] => 2015年06月02日
            [surname] =>  星史
        )

    [2] => Array
        (
            [department] => 雅典娜
            [sign] => 0
            [time] => 2015年06月03日
            [surname] => 瞬
        )

    [3] => Array
        (
            [department] => 雅典娜
            [sign] => 0
            [time] => 2015年06月03日
            [surname] => 紫龙
        )

我把数组 相同的都要统计下来,比方说星史 有两个数组,统计为2,其它为1.
那么数组写法是

$array=array();
foreach($上面打印的数组 as $v){
    if(!isset($array[$v['surname']])){
              $out_put[$v['surname']]['time']=$v['time'];
              $array[$v['surname']]['count']=1;
    }else{
         $array[$v['surname']]['count']=$array[$v['surname']]['count']+1;
    }
}

然后打印出

Array
(
    [星史] => Array
        (
           //问题再这里,如何数组输出多个时间呢  [time] = 2015年06月01日、2015年06月02日
             [time] =2015年06月01日;
            [count] => 2
        )

    [瞬] => Array
        (
             [time] =2015年06月03日;
             [count] => 1
        )

    [紫龙 => Array
        (
           [time] =2015年06月03日;
            [count] => 1
        )



)

这个打印如何输出时间呢?

回复内容:

数据库打印后数组结果:

Array
(
    [0] => Array
        (
            [department] => 雅典娜
              [sign] => 0
            [time] => 2015年06月01日
            [surname] => 星史
        )

    [1] => Array
        (
            [department] => 雅典娜
            [sign] => 0
            [time] => 2015年06月02日
            [surname] =>  星史
        )

    [2] => Array
        (
            [department] => 雅典娜
            [sign] => 0
            [time] => 2015年06月03日
            [surname] => 瞬
        )

    [3] => Array
        (
            [department] => 雅典娜
            [sign] => 0
            [time] => 2015年06月03日
            [surname] => 紫龙
        )

我把数组 相同的都要统计下来,比方说星史 有两个数组,统计为2,其它为1.
那么数组写法是

$array=array();
foreach($上面打印的数组 as $v){
    if(!isset($array[$v['surname']])){
              $out_put[$v['surname']]['time']=$v['time'];
              $array[$v['surname']]['count']=1;
    }else{
         $array[$v['surname']]['count']=$array[$v['surname']]['count']+1;
    }
}

然后打印出

Array
(
    [星史] => Array
        (
           //问题再这里,如何数组输出多个时间呢  [time] = 2015年06月01日、2015年06月02日
             [time] =2015年06月01日;
            [count] => 2
        )

    [瞬] => Array
        (
             [time] =2015年06月03日;
             [count] => 1
        )

    [紫龙 => Array
        (
           [time] =2015年06月03日;
            [count] => 1
        )



)

这个打印如何输出时间呢?

php
$arr = Array( Array ( 'department' => '雅典娜', 'sign' => 0, 'time' => '2015年06月01日', 'surname' => '星史' ) , Array ( 'department' => '雅典娜', 'sign' => 0, 'time' => '2015年06月02日', 'surname' => '星史' ) , Array ( 'department' => '雅典娜', 'sign' => 0, 'time' => '2015年06月03日', 'surname' => '瞬' ), Array ( 'department' => '雅典娜', 'sign' => 0, 'time' => '2015年06月03日', 'surname' => '紫龙' ) ); $array=array(); foreach($arr as $v){ if(!isset($array[$v['surname']])){ $array[$v['surname']]['count']=1; $array[$v['surname']]['time']=$v['time']; }else{ $array[$v['surname']]['count']+=1; $array[$v['surname']]['time'].=','.$v['time']; } } print_r($array); uasort($array,function($a,$b){ return $b['count'] - $a['count']; });
相关标签: php