短数组语法需要 PHP >= 5.4
$master = [ "one", "Two", "FOUR", "Four", "three", "two"];
// Filter $master into arrays containing the appropriate lower, ucfirst and upper values
$lowerSet = array_filter(
$master,
function($value) {
return strtolower($value) == $value;
}
);
$ucfirstSet = array_filter(
$master,
function($value) {
return ucfirst(strtolower($value)) == $value;
}
);
$upperSet = array_filter(
$master,
function($value) {
return strtoupper($value) == $value;
}
);
function sorting(array $series) {
$mi = new MultipleIterator(MultipleIterator::MIT_NEED_ANY);
foreach($series as $valueSet) {
$mi->attachIterator(new ArrayIterator($valueSet));
}
$line = [];
foreach($mi as $values) {
$line = array_merge($line, $values);
}
return array_filter($line);
}
$lines = [
implode(', ', $lowerSet),
implode(', ', sorting([$lowerSet, $ucfirstSet])),
implode(', ', sorting([$lowerSet, $ucfirstSet, $upperSet]))
];
echo implode(PHP_EOL, $lines);
但如果将[] 替换为array(),则可以使用 PHP >= 5.3