[英]Group array by date and set value as keys
我有這樣的數組
0 =>
array (size=3)
'datetime_read' => '2017-07-16 20:45:08'
'parameter_name' => 'Rainfall Amount'
'reading' => '0.00'
1 =>
array (size=3)
'datetime_read' => '2017-07-16 20:45:08'
'parameter_name' => 'Rainfall Intensity'
'reading' => '0.0'
2 =>
array (size=3)
'datetime_read' => '2017-07-16 20:45:08'
'parameter_name' => 'Air Pressure'
'reading' => '77.45'
我需要按日期對數據進行分組,並獲取參數名稱和讀取的值
[0] => Array
(
'datetime_read' => '2017-07-16 20:45:08'
'Rainfall Amount' => '0.00'
'Rainfall Intensity' => '0.0'
'Air Pressure' => '77.45'
)
有多種方法可以解決此問題。 這就是我要解決的方法:
試試這個(假設$input
是您的輸入):
$combined = array_reduce(
$input,
function (array $carry, array $item) {
$datetimeRead = $item['datetime_read'];
$parameterName = $item['parameter_name'];
$reading = $item['reading'];
$carry[$datetimeRead['datetime_read'] = $datetimeRead;
$carry[$datetimeRead][$parameterName] = $reading;
return $carry;
},
[]
);
ksort($combined);
$data = array_values($combined);
供參考,請參閱:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.