【问题标题】:Permutations of array with language codes数组与语言代码的排列
【发布时间】:2014-07-15 10:22:18
【问题描述】:

我有数组

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

现在我想生成一个这样的数组:

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

谢谢!

【问题讨论】:

    标签: php algorithm permutation


    【解决方案1】:

    您也可以使用array_diffarray_values 获得结果

    $langs = array("en", "de", "pt");        
    
    foreach($langs as $val) 
    {
            $array[$val] = array_values(array_diff($langs, array($val)));      
    }
    
    print_r($array);
    

    【讨论】:

      【解决方案2】:

      你可以试试这个方法:

       $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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-13
        相关资源
        最近更新 更多