Получить данные за последний месяц из Firebase Php - PullRequest
0 голосов
/ 12 апреля 2019

Я хочу получить количество данных об именах за последний месяц из базы данных, используя php.

Я храню поле данных, как показано ниже:

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

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Если я понимаю ваш вопрос, следующий подход может помочь.

  • Декодируйте ваши JSON данные в массив, используя json_decode () .Результатом будет массив с датами в качестве ключей и именами в качестве значений.
  • Цикл бросить этот массив, преобразовать ключ в дату с 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;  
?>
0 голосов
/ 12 апреля 2019

Попробуйте с этим,

Сначала разделите вашу пару ключ-значение на два массива, используя array_divide()

Ниже код вернет вам месяц

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

взорвать, взять только струну, поэтому она находится в этом месте

array_divide($arr)[0][0]

взорваться будет делиться в массиве от -, а месяц - на втором месте, означает 1 индекс.

и будет возвращено количество

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

Считайте $arr равным вашей переменной.

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...