首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用其他数组的值创建新数组

使用其他数组的值创建新数组
EN

Stack Overflow用户
提问于 2015-11-08 12:35:10
回答 1查看 87关注 0票数 1

我有一个包含单个数组(从db中提取)的数组,其内容类似于以下内容:

代码语言:javascript
复制
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
    )
)

我想要做的是在前一个数组的基础上构建一个新的多维数组,其中数组与同月的数组以以下方式连接在一起:

代码语言:javascript
复制
Array
(
[0] => Array
    (
        [date] => 2014-11
        [John] => 2135
        [Adam] => 5496
    )

[1] => Array
    (
        [date] => 2014-12
        [John] => 1526
        [Adam] => 5481
        [Lizzie] => 3476
    )
)

我试着看过各种各样的数组函数,但根本无法了解如何实现这一点.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-08 12:46:21

看看下面的片段。

代码语言:javascript
复制
$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

问题中想要的数组结构有点奇怪,但没有问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33594014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档