我正在尝试创建一个多维数组,但我有结果我想要jajaja,这是我的代码。
所有变量都是动态创建的。
foreach ($list_items as $key => $level):
foreach ($list_songs as $k =>$attribute):
$variables[$level][$k] = $attribute; // changed $variables[] to $variables[$level][]
endforeach;
endforeach;
这是为了创建多维我打印时有这个结果:
echo '<pre>' . print_r($list_items,1) . '</pre>';
echo '<pre>' . print_r($list_songs,1) . '</pre>';
echo '<pre>' . print_r($variables,1) . '</pre>';
/*THIS IS THE ARRAY $list_items */
Array
(
[0] => item_name_1
[1] => item_name_2
)
/*THIS IS THE ARRAY $list_songs*/
Array
(
[0] => Musica Ligera
[1] => La chispa adecuada
)
/*THIS IS THE ARRAY $variables*/
Array
(
[item_name_1] => Array
(
[0] => Musica Ligera
[1] => La chispa adecuada
)
[item_name_2] => Array
(
[0] => Musica Ligera
[1] => La chispa adecuada
)
)
我理解这个问题,因为我保存了列表项中每个键中歌曲的所有键,但我不知道如何在结果中解析它:
Array
(
[item_name_1] => Array
(
[0] => Musica Ligera
)
[item_name_2] => Array
(
[1] => La chispa adecuada
)
)
欢迎所有评论,问候:D
答案 0 :(得分:0)
我认为在你的情况下两个数组的长度是相同的,所以请改用for循环。
for( $i = 0; $i < sizeof($list_items); $i++ ){
$variables[$list_items[$i]][array_keys($list_songs)[$i]] = $list_songs[$i];
}
print_r($variables);
输出:
Array
(
[item_name_1] => Array
(
[0] => song1
)
[item_name_2] => Array
(
[1] => song2
)
)