当每个值也是数组时,如何翻转数组?

时间:2012-02-06 22:02:26

标签: php arrays

如何翻转数组并建立所有值和键之间的关系?例如:

我试图解决这个问题:

Array ( 
[11913] => Array ( 
            [0] => 4242 
            [1] => 3981 
    ) 
[9878] => Array ( 
            [0] => 2901 
            [1] => 3981 
    ) 
[11506] => Array ( 
            [0] => 3981 
            [1] => 2901 
    ) 
 )

进入这个:

Array ( 
    [3981] => Array ( 
            [0] => 11506 
            [1] => 9878 
            [2] => 11913 
        ) 
    [2901] => Array ( 
            [0] => 11506 
            [1] => 9878 
        ) 
    [4242] => Array ( 
            [0] => 11913 
        ) 
     )

是否有任何PHP功能已自动执行此操作?如果不是什么方法可以解决这个问题?似乎无法绕过它。

1 个答案:

答案 0 :(得分:6)

你走了。

$final_array = array();
foreach($initial_array as $key => $val){
    foreach($val as $v){
        $final_array[$v][] = $key;
    }
}