我有一个看起来像这样的PHP数组
$alphabet= array('a','b','c')
$ alphabet是一个输入,我需要像$ result
这样的结果预期产出:
$result= array(
[0]=> "a"
[1]=> "b"
[2]=> "c"
[3]=> "ab"
[4]=> "ac"
[5]=> "bc"
[6]=> "abc"
)
注意: 在这里,我不想排序使用。 谢谢!
答案 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