優化調用的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