如何将两个数组(歌曲和标题)合并为一个多维数组?

时间:2019-06-01 09:10:15

标签: php arrays

我有两个数组:

Array 
( 
 [0] => Black 
 [1] => Five Hours 
 [2] => Bvulgari 
 [3] => Imaginary 
)

Array 
( 
 [0] => Pearl Jam
 [1] => Deorro
 [2] => Daddy's Groove
 [3] => Brennan Heart
) 

我希望能够实现以下目标: 我想将歌曲名称和歌手添加到数组的一个“维度”中, 这就是我想要的样子:

Array
(
     [0] => Array 
            (
              [0] => Black
              [1] => Pearl Jam
            )
     [1] => Array
            (
              [0] => Five Hours
              [1] => Deorro
            )
     [2] => Array
            (
              [0] => Bvulgari
              [1] => Daddy's Groove

            )
     [3] => Array
            (
              [0] => Imaginary
              [1] => Brennan Heart
            )

)

作为输入的两个数组可以根据请求者的输入而改变。

3 个答案:

答案 0 :(得分:3)

您可以使用简单的foreach循环:

$songs_artists = array();
foreach ($songs as $key => $title) {
    $songs_artists[] = array($title, $artists[$key]);
}

输出随心所欲。 Demo on 3v4l.org

答案 1 :(得分:1)

或者,您可以使用array_map并使用两个数组:

$result = array_map(function ($s, $a) {
    return [$s, $a];
}, $songs, $artists);

print_r($result);

查看Php demo

结果

Array
(
    [0] => Array
        (
            [0] => Black
            [1] => Pearl Jam
        )

    [1] => Array
        (
            [0] => Five Hours
            [1] => Deorro
        )

    [2] => Array
        (
            [0] => Bvulgari
            [1] => Daddy's Groove
        )

    [3] => Array
        (
            [0] => Imaginary
            [1] => Brennan Heart
        )

)

答案 2 :(得分:0)

另一种方法是Array_Combine

$songs_artists = array_combine($songs,$artists);


Array (
[Black] => Pearl Jam 
[Five Hours] => Deorro 
[Bvulgari] => Daddy's Groove 
[Imaginary] => Brennan Heart
)