我有一个包含单个数组(从db中提取)的数组,其内容类似于以下内容:
Array
(
[0] => Array
(
[date] => 2014-11
[time] => 2135
[name] => John
)
[1] => Array
(
[date] => 2014-11
[time] => 5496
[name] => Adam
)
[2] => Array
(
[date] => 2014-12
[time] => 1526
[name] => John
)
[3] => Array
(
[date] => 2014-12
[time] => 5481
[name] => Adam
)
[4] => Array
(
[date] => 2014-12
[time] => 3476
[name] => Lizzie
)
)我想要做的是在前一个数组的基础上构建一个新的多维数组,其中数组与同月的数组以以下方式连接在一起:
Array
(
[0] => Array
(
[date] => 2014-11
[John] => 2135
[Adam] => 5496
)
[1] => Array
(
[date] => 2014-12
[John] => 1526
[Adam] => 5481
[Lizzie] => 3476
)
)我试着看过各种各样的数组函数,但根本无法了解如何实现这一点.
发布于 2015-11-08 12:46:21
看看下面的片段。
$output = array(); // Where the output will be saved
foreach ($input as $row) { // Need to process the original input array
$date = $row['date']; // Grouping by the date value, thus we use it as an index in an associative array
if (empty($output[$date])) {
$output[$date] = array('date' => $date); // Make sure the 'date' value is in the final output
}
$output[$date][$row['name']] = $row['time']; // Actual values, e.g., [Adam] => 5496
}
$output = array_values($output); // Removing original indexes from the associative array问题中想要的数组结构有点奇怪,但没有问题。
https://stackoverflow.com/questions/33594014
复制相似问题