具有语言代码的数组的排列

I have array

$langs = array('en', 'de', 'pt', .....);

and now I would like to generate an array like this:

$result = array(
  array('en' => array('de', 'pt'),
  array('de' => array('en', 'pt'),
  array('pt' => array('en', 'de'),
  ....
);

Thanks!

You can also get the result with array_diff and array_values

$langs = array("en", "de", "pt");        

foreach($langs as $val) 
{
        $array[$val] = array_values(array_diff($langs, array($val)));      
}

print_r($array);

You can try this way:

 $langs = array('en', 'de', 'pt');
 $arr = array();
 foreach($langs as $key => $lang){
        $arr[$lang] = $langs;
        unset($arr[$lang][$key]);
        sort($arr[$lang]);
 }

 print_r($arr);

CHECK PHP FIDDLE