array_flip-配列関数:キーと値を反転

array_flip関数は配列のキーと値を反転させ、その反転させた配列を返す関数です。
以下にarray_flip関数の使用例を示します。
//array_flip (配列);

$inarray = array("PHP", "CGI", "PERL");
print_r(array_flip($inarray));

array_flip関数に指定する引数は値とキーを反転させたい配列のみです。
上記の例では配列inarrayを引数に指定しています。配列inarrayの中身は以下の通りです。
 Array ( [0] => PHP [1] => CGI [2] => PERL ) 
上記に配列inarrayのキーと値が反転されることとなり、以下の配列がarray_flip関数により返されます。
 Array ( [PHP] => 0 [CGI] => 1 [PERL] => 2 ) 

array_flip関数-同一の値が存在する場合

引数に指定した配列に同一の値がある場合は、最後の値がキーとして使用されます。
以下に例を示します。
$inarray = array("PHP" => "4", "CGI" => "4", "PERL" => "2");
print_r(array_flip($inarray));
print_r($inarray);
この場合は、 "PHP" => "4", "CGI" => "4" が同一の値ということになります。
よって、 "CGI" => "4", "PERL" => "2" が反転対象ということになり、以下の配列がarray_flip関数によって返されます。
 Array ( [4] => CGI [2] => PERL ) 

以下の例ではすべての要素の値が同一となっています。最後の要素の値がキーとして使用される為、 "PERL" => "4" のみが反転対象となり、  Array ( [4] => PERL ) がarray_flip関数により返されることになります。
$inarray = array("PHP" => "4", "CGI" => "4", "PERL" => "4");
print_r(array_flip($inarray));
print_r($inarray);