문제
Hallo, 더 많은 매개 변수를 USORT에 전달하려면 어떻게해야합니까? 나는 다른 기능을 가지고 있는데,이 기능은 구조가 매우 유사하며 하나의 기능 만 갖고 싶습니다.
<?php
$arr = array( array('number' => 100, 'string'=>'aaa'),
array('number'=>50, 'string'=>'bdef'),
array('number'=>150, 'string'=>'cbba')
);
usort($arr, 'sortNumberDesc');
//How can I use just a single function?
//How can I pass further parameters to usort?
function sortNumberDesc($a, $b){
$a = $a['number'];
$b = $b['number'];
if ($a == $b) return 0;
return ($a > $b) ? -1 : +1;
}
function sortNumberAsc($a, $b){
$a = $a['number'];
$b = $b['number'];
if ($a == $b) return 0;
return ($a < $b) ? -1 : +1;
}
//I want to do the same with just one function:
//Sort ID is the search index, reverse DESC or ASC
function sort($a, $b, $sortId='number', $reverse = 0){
$a = $a[$sortId];
$b = $b[$sortId];
if ($a == $b) return 0;
if($reverse == false) return ($a > $b) ? -1 : +1;
else return ($a < $b) ? -1 : +1;
}
print_r($arr);
?>
해결책
훨씬 간단한 기능을 사용할 수 있습니다.
function sortNumberAsc($a, $ b){
$a = $a['number'];
$b = $ b['number'];
if ($a == $b) return 0;
return ($a < $b) ? -1 : +1;
}
제휴하지 않습니다 StackOverflow