从Firebase Php获取上个月的数据

时间:2019-04-12 06:18:40

标签: php laravel

我想使用php从数据库中获取上个月名字数据的计数。

我正在存储如下数据字段:

{
  "2019-04-11": [
    "alex",
    "jhon",
    "vinu"
  ],
  "2019-04-12": [
    "Mario",
    "pech"
  ]
}

2 个答案:

答案 0 :(得分:0)

尝试一下,

首先使用array_divide()

将键值对分为两个数组

下面的代码将为您返回月份

explode('-',array_divide($arr)[0][0])[1]

仅爆炸字符串,将其放置在此处

array_divide($arr)[0][0]

explode将以-分隔成数组,并且month排在第二位,意味着在1个索引处。

它将返回计数

count(array_divide($arr)[1][0])

考虑$arr等于您的变量。

希望这会有所帮助:)

答案 1 :(得分:0)

如果我理解您的问题,那么下一种方法可能会有所帮助。

  • 使用json_decode()JSON数据解码为一个数组。结果将是一个以日期为键,名称为值的数组。
  • 循环抛出该数组,用DateTime::createFromFormat()将键转换为日期,比较日期并计算名称:

PHP:

<?php

# JSON
$json = '
    {
    "2019-04-11": [
        "alex",
        "jhon",
        "vinu"
    ],
    "2019-04-12": [
        "Mario",
        "pech"
    ]
    }
';
$data = json_decode($json, true);

# Count names
$count = 0;
foreach ($data as $key => $value) {
    $date = DateTime::createFromFormat('Y-m-d', $key);
    if ($date->format('Y-m') == '2019-04') {
        $count += count($value);    
    }
}

# Output
echo 'Count: '.$count;  
?>