php - 从不同类型的数组中获取值
问题描述
我有一个数组
大批 ( [活动] => 数组 ( [0] => 数组 ( [动作] => 打开 [时间戳] => 2019-08-02T21:34:03+00:00 ) [1] => 数组 ( [动作] => 打开 [时间戳] => 2019-08-02T20:27:54+00:00 ) [2] => 数组 ( [动作] => 点击 [时间戳] => 2019-08-02T20:27:54+00:00 ) [3] => 数组 ( [动作] => 打开 [时间戳] => 2019-08-02T20:26:43+00:00 ) ) )
我想计算具有 action=open 的操作总数。所以结果将是 3
解决方案
您可以尝试使用array-column和array-count-values作为:
$actions = array_column($arr['activity'], 'action');
$cnts = array_count_values($actions );
现在只需将“打开”打印为:
echo $cnts['open'];
你也可以做简单的循环:
$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
}
推荐阅读
- c# - 使用 T4 为代理的 ASP.NET Web API 创建 C# 模型类
- ios - 将小数添加到计算器应用程序 swift 4
- python - 使用 Jupyter 在 Python 上安装 Facebook 聊天模块
- rest - Dolibarr 中是否有任何用于创建销售订单记录的默认 API?
- mysql - SQL function HASHBYTES does not exist
- java - android工作室上的片段
- laravel - Laravel 在休息 api 中从 POST 请求中获取输入数据
- sql - Sql loader:将嵌入 \r\n 的 .CSV 文件加载到 oracle
- python - 第一个 epoch 的验证和训练准确率很高 [Keras]
- ruby-on-rails - 如何在没有 lvh.me 的情况下在 localhost 上将公寓 gem 用于 saas 应用程序?