创建从其他阵列
问题描述:
与值的新阵列我有一个包含单个阵列,内容类似这样的数组(从数据库中拉):创建从其他阵列
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
)
)
我也想看看不同的阵列功能,但根本无法得到关于如何实现我的身边这....
答
看看下面的代码片段。
$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
问题中所需的数组结构有点奇怪,但没有问题问。
感谢您的详细建议!它像广告一样工作。 我想要这样的数组的原因是因为数据将被用于堆叠条形图,并且正如我所看到的,这将成为提供给Google API的最佳格式。 我绝对非常开放其他建议,如果有的话。我是一个非常小的PHP开发人员,这可能也反映了我的思维方式:-) – DanTheDane