Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何重新排列数组_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 如何重新排列数组

Php 如何重新排列数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我正在重新排列一个数组,我尝试了其中的大多数。。尝试使用array\u merge、foreach、forloop、while循环等,但运气不好 我的概念还不清楚,我需要你的帮助来了解如何根据我的要求更改数组,如果你只给我概念,我不需要代码,我会先尝试自己编写代码 这是数组 Array ( [links] => Array ( [song_name] => Array (

我正在重新排列一个数组,我尝试了其中的大多数。。尝试使用array\u merge、foreach、forloop、while循环等,但运气不好

我的概念还不清楚,我需要你的帮助来了解如何根据我的要求更改数组,如果你只给我概念,我不需要代码,我会先尝试自己编写代码

这是数组

   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
                        .....
                )
        )
)
像这样的循环使用

 foreach($arr['links'] as $k =>$v)
 { 
    foreach ($v as $k1 => $v1) {
         $t[$k1][$k] = $v1; 
      }

 }

 print_r($t);
输出


想法:遍历所有项目并将它们组合到另一个数组中

以下是示例代码:

$inputarray = array(...);

$outputarray = array('links' => array());
foreach ($inputarray['links'] as $k => $v)
    foreach ($v as $k2 => $v2) {
        $outputarray['links'][$k2][$k] = $v2;
    }

为自己创建一个空数组。然后使用索引号作为新数组的键,对links数组中的每个数组执行foreach循环

更详细一点,不显示代码。在链接中执行foreach循环,获取链接中数组的alpha索引。然后在链接内的该数组上执行foreach循环,获取每个项目的数字索引和值。然后使用数字键和字母键将其添加到新的链接数组中,并为其赋值


我希望这对你有意义。如果没有,请告诉我,我会为您编写一些示例代码

如果您的数组位于变量$original\u数组中,则可以执行以下操作:

$new_array = array('links'=>array());
foreach ($original_array['links'] as $key => $data) foreach ($data as $n => $value) $new_array['links'][$n][$key] = $value;

这有助于你交配吗?是的。。。这有助于我理解这个概念。
$new_array = array('links'=>array());
foreach ($original_array['links'] as $key => $data) foreach ($data as $n => $value) $new_array['links'][$n][$key] = $value;