doubijiao2094 2019-08-05 05:59
浏览 37
已采纳

从不同类型的数组中获取值

I've an array

Array
(
    [activity] => Array
        (
            [0] => Array
                (
                    [action] => open
                    [timestamp] => 2019-08-02T21:34:03+00:00
                )

            [1] => Array
                (
                    [action] => open
                    [timestamp] => 2019-08-02T20:27:54+00:00
                )

            [2] => Array
                (
                    [action] => click
                    [timestamp] => 2019-08-02T20:27:54+00:00
                )

            [3] => Array
                (
                    [action] => open
                    [timestamp] => 2019-08-02T20:26:43+00:00
                )
    )
)

I want to count the total number of action which has action=open. So the result will be 3

  • 写回答

1条回答 默认 最新

  • dosi8657 2019-08-05 06:03
    关注

    You can try using array-column and array-count-values as:

    $actions = array_column($arr['activity'], 'action');
    $cnts = array_count_values($actions );
    

    Now just print the 'open` as:

    echo $cnts['open'];
    

    You can also do simple loop as:

    $cnt = 0;
    foreach($arr['activity'] as $e) {
        if ($e['action'] == 'open') $cnt++;
        if ($cnt == 1) echo "First open at: " . $e['timestamp']; // print the date of the first open action
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮