我正在重新排列数组,我尝试了其中的大多数。尝试使用array_merge, foreach, forloop, while loop等,但没有运气
我的概念不清楚,我需要你的帮助得到一个想法,我如何能改变数组按照我的要求,它的更好的,如果你只给我的概念的想法,我不需要代码,我尝试我自己先编码它。
这是数组
Array
(
[links] => Array
(
[song_name] => Array
(
[0] => AA
[1] => BB
[2] => CC
.....
)
[singer_name] => Array
(
[0] => AA
[1] => BB
[2] => CC
.....
)
[song_url_320] => Array
(
[0] => AA
[1] => BB
[2] => CC
.....
)
[song_url_128] => Array
(
[0] => AA
[1] => BB
[2] => CC
.....
)
)
)
我需要像这样改变数组:
Array
(
[links] => Array
(
[0] => Array
(
[song_name] => AA
[singer_name] => AA
[song_url_320] => AA
[song_url_128] => AA
.....
)
[1] => Array
(
[song_name] => BB
[singer_name] => BB
[song_url_320] => BB
[song_url_128] => BB
.....
)
[2] => Array
(
[song_name] => CC
[singer_name] => CC
[song_url_320] => CC
[song_url_128] => CC
.....
)
)
)
创意:遍历所有元素并将它们组合成另一个数组
下面是示例代码:
$inputarray = array(...);
$outputarray = array('links' => array());
foreach ($inputarray['links'] as $k => $v)
foreach ($v as $k2 => $v2) {
$outputarray['links'][$k2][$k] = $v2;
}
像这样使用for循环
foreach($arr['links'] as $k =>$v)
{
foreach ($v as $k1 => $v1) {
$t[$k1][$k] = $v1;
}
}
print_r($t);
输出Array
(
[0] => Array
(
[song_name] => AA
[singer_name] => AA
[song_url_320] => AA
[song_url_128] => AA
)
[1] => Array
(
[song_name] => BB
[singer_name] => BB
[song_url_320] => BB
[song_url_128] => BB
)
[2] => Array
(
[song_name] => CC
[singer_name] => CC
[song_url_320] => CC
[song_url_128] => CC
)
)
创建一个空数组。然后使用索引号作为新数组的键,对links数组中的每个数组执行foreach循环。
更多细节,不显示代码。在链接中执行foreach循环,获取链接中数组的alpha索引。然后对链接内的数组执行foreach循环,获取每个项目的数字索引和值。然后将其添加到使用数字和alpha键的新链接数组中,并为其赋值。
我希望这对你有意义。如果它没有,让我知道,我会做一些示例代码为您。
如果你的数组是在一个变量$original_array中,那么这样做:
$new_array = array('links'=>array());
foreach ($original_array['links'] as $key => $data) foreach ($data as $n => $value) $new_array['links'][$n][$key] = $value;