优化调用的usort功能这是我的回调我usort()
帮助与PHP
public function sortProperties($a, $b) {
$sortA = inflector::camelize(str_replace('-', '_', $this->sortBy));
$sortB = inflector::camelize(str_replace('-', '_', $this->sortBy));
$a = Arr::get($a, $sortA);
$b = Arr::get($b, $sortB);
if (is_numeric($a) AND is_numeric($b)) {
return $a < $b;
} else {
return strcasecmp($a, $b);
}
}
通常,当我看到第2行我的代码任何,它尖叫声对我说:重构!我想这是因为它们是相同的。
我知道我可以做一个功能getCamelized()
,但我不认为我会再次使用它的这个之外。
有没有办法把这些4线到2? func_get_args()
或array_walk()
可以帮我吗?
此外,有什么不好呢排序功能?
的Schwartzian变换http://t3.dotgnu.info/blog/php/schwartzian-transform.html – 2010-02-18 07:43:18