これは私のコールバックですusort()
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()
また、このソート機能に何か問題はありますか?