2012-02-06 15 views
0

は、どのように私は、配列を反転し、全ての値とキーの間の関係を確立するに行きますか?たとえば、この中へ各値が配列でも配列を反転するにはどうすればよいですか?

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

私はこのアプローチを強要しなければならないと思います。運があれば、私はこれについて間違っています。 – Brad

+0

あるarray_walkのいくつかの組み合わせを試してみて、array_flip、または のコメントで与えられたmulti_array_flip機能をチェックしてくださいhttp://php.net/manual/en/function.array-flip.php – Daan

答えて

6

ここに行きます。

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

の$ valが彼の$の配列でありますinitial_arrayの例ですね。 – bzx

+0

$ valは、$ initial_arrayの2番目のレベル配列です(yes)。 – Grexis

+0

ああ、あなたがforeachで値をつかむことを指定していないときは、私たちはそれらのキーを必要としないので..私はそれを得ると思う:) – bzx

関連する問題