Это мой обратный вызов для моего 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()
помочь мне здесь?
Кроме того, есть ли что-то неправильное в этой функции сортировки?
Шварца Transform http://t3.dotgnu.info/blog/php/schwartzian-transform.html –