Поначалу меня немного смутило ваше объяснение, но я думаю, что выяснил, что ожидается.
Предположим, у вас уже есть этот массив php (собранный из MySQL или другого place):
$all_vehicles = array(
array(
'id' => 786,
'userID' => 9791,
'tip_index' => 'CARS',
'tip_apa' => 'calda',
'citire' => 2,
'data' => '2020-04-21 15:32:49'
),
array(
'id' => 785,
'userID' => 9791,
'tip_index' => 'TRUCKS',
'tip_apa' => 'calda',
'citire' => 1,
'data' => '2020-04-21 15:32:49'
),
array(
'id' => 784,
'userID' => 97291,
'tip_index' => 'MOTORCYCLES',
'tip_apa' => 'calda',
'citire' => 1,
'data' => '2020-04-21 15:32:49'
),
array(
'id' => 783,
'userID' => 97291,
'tip_index' => 'CARS',
'tip_apa' => 'calda',
'citire' => 1,
'data' => '2020-03-21 15:32:44'
),
array(
'id' => 782,
'userID' => 97291,
'tip_index' => 'TRUCKS',
'tip_apa' => 'calda',
'citire' => 0,
'data' => '2020-03-21 15:32:41'
),
array(
'id' => 781,
'userID' => 97291,
'tip_index' => 'MOTORCYCLES',
'tip_apa' => 'calda',
'citire' => 0,
'data' => '2020-03-21 15:32:39'
),
);
Я бы предложил прокрутить массив и обновить нужные значения. Я автоматизировал его, чтобы удалить if и elses, добавив «data_in_» - Значение.
Затем добавьте их в многомерный массив, чтобы разделить автомобили, грузовики и мотоциклы.
$ordered_vehicles = array();
foreach($all_vehicles as $val)
{
$month= date('m',strtotime($val['data']));
if($month <= date('m') && in_array($val['tip_apa'],array('rece','calda')))
{
$data = date('d.m.Y',strtotime($val['data']));
// Convert the data in the required format DD.MM.YYYY
$number = $val['citire'];
$val['data_in_'.$val['tip_apa']] = $data;
$val['number_in_'.$val['tip_apa']] = $number;
}
$ordered_vehicles[$val['tip_index']][$val['tip_apa']][] = $val;
}
Ожидаемый Результатом будет многомерный массив с 3 дочерними массивами - легковые автомобили, грузовики и мотоциклы. Каждый из них имеет несколько массивов внутри с необходимыми данными.
В моем случае это выглядит так:
Array
(
[CARS] => Array
(
[calda] => Array
(
[0] => Array
(
[id] => 786
[userID] => 9791
[tip_index] => CARS
[tip_apa] => calda
[citire] => 2
[data] => 2020-04-21 15:32:49
[data_in_calda] => 21.04.2020
[number_in_calda] => 2
)
[1] => Array
(
[id] => 783
[userID] => 97291
[tip_index] => CARS
[tip_apa] => calda
[citire] => 1
[data] => 2020-03-21 15:32:44
[data_in_calda] => 21.03.2020
[number_in_calda] => 1
)
)
)
[TRUCKS] => Array
(
[calda] => Array
(
[0] => Array
(
[id] => 785
[userID] => 9791
[tip_index] => TRUCKS
[tip_apa] => calda
[citire] => 1
[data] => 2020-04-21 15:32:49
[data_in_calda] => 21.04.2020
[number_in_calda] => 1
)
[1] => Array
(
[id] => 782
[userID] => 97291
[tip_index] => TRUCKS
[tip_apa] => calda
[citire] => 0
[data] => 2020-03-21 15:32:41
[data_in_calda] => 21.03.2020
[number_in_calda] => 0
)
)
)
[MOTORCYCLES] => Array
(
[calda] => Array
(
[0] => Array
(
[id] => 784
[userID] => 97291
[tip_index] => MOTORCYCLES
[tip_apa] => calda
[citire] => 1
[data] => 2020-04-21 15:32:49
[data_in_calda] => 21.04.2020
[number_in_calda] => 1
)
[1] => Array
(
[id] => 781
[userID] => 97291
[tip_index] => MOTORCYCLES
[tip_apa] => calda
[citire] => 0
[data] => 2020-03-21 15:32:39
[data_in_calda] => 21.03.2020
[number_in_calda] => 0
)
)
)
)
После этого вы можете распечатать и изменить данные по своему желанию. Пожалуйста, укажите ниже, если я что-то упустил в процессе. Приветствия.