PHP数组与从左到右的顺序组合

时间:2015-05-21 08:21:45

标签: php arrays combinations

我有一个看起来像这样的PHP数组

$alphabet= array('a','b','c')

$ alphabet是一个输入,我需要像$ result

这样的结果

预期产出:

$result= array(
  [0]=> "a"
  [1]=> "b"
  [2]=> "c"
  [3]=> "ab"
  [4]=> "ac"
  [5]=> "bc"
  [6]=> "abc"
)

注意: 在这里,我不想排序使用。 谢谢!

1 个答案:

答案 0 :(得分:0)

使用usort和costum sort函数:

$array = array("a", "bc", "bb", "aa", "cc", "bb");

function sortByValueLength($a, $b)
{
    $aLength = mb_strlen($a, 'utf-8');
    $bLength = mb_strlen($b, 'utf-8');
    if ($aLength == $bLength) {
        return strcmp($a, $b);
    }

    return $aLength - $bLength;
}

usort($array, 'sortByValueLength');

var_export($array);

示例结果here