-3
排序阵列我有一个字符串PHP - 通过模式
[ "one", "Two", "FOUR", "Four", "three", "two"]
我需要创建一个字符串,它看起来像这样的数组:
“一,三,二
一,二,三,四,二
一,二,四,三,四,二“。
我将不胜感激任何帮助。谢谢。
排序阵列我有一个字符串PHP - 通过模式
[ "one", "Two", "FOUR", "Four", "three", "two"]
我需要创建一个字符串,它看起来像这样的数组:
“一,三,二
一,二,三,四,二
一,二,四,三,四,二“。
我将不胜感激任何帮助。谢谢。
需要短阵语法
$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);
PHP> = 5.4,但将与PHP> = 5.3如果[]
工作被替换array()
这就是我一直在寻找的。非常感谢Mark。 – 2015-02-11 12:22:29
所以你其实可以解释这些模式背后的逻辑是什么? – 2015-02-11 10:52:44
而模式是?在你的脑海? – 2015-02-11 10:53:01
我诚实地看不到你想要的输出中的逻辑。通常必须有某种逻辑才能形成一个通用的功能。否则,你需要一个非常特殊的函数来处理边界情况。 – AnotherGuy 2015-02-11 10:53:39