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

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

{
  "2019-04-11": [
    "alex",
    "jhon",
    "vinu"
  ],
  "2019-04-12": [
    "Mario",
    "pech"
  ]
}
-1
Black 12 Апр 2019 в 09:18

2 ответа

Лучший ответ

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

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
Zhorov 12 Апр 2019 в 06:59

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

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

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

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

Взорвать взять только струну так, чтобы она была в этом месте

array_divide($arr)[0][0]

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

И он вернет счет

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

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

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

0
Maulik Shah 12 Апр 2019 в 06:37