我有阵列
$langs = array('en', 'de', 'pt', .....);
现在我想生成一个这样的数组:
$result = array(
array('en' => array('de', 'pt'),
array('de' => array('en', 'pt'),
array('pt' => array('en', 'de'),
....
);
谢谢!
答案 0 :(得分:1)
您可以尝试这种方式:
$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);
检查 PHP FIDDLE
答案 1 :(得分:1)
您还可以使用array_diff和array_values
获得结果$langs = array("en", "de", "pt");
foreach($langs as $val)
{
$array[$val] = array_values(array_diff($langs, array($val)));
}
print_r($array);