1
가장 높은 값을 가진 객체를 찾는 가장 짧은 방법을 찾고 있습니다. sort
.PHP는 객체가 배열에서 가장 높은 값을 가짐
array(5) {
[0]=>
object(stdClass)#212 (3) {
["id"]=>
int(1)
["display_name"]=>
string(8) "Activate"
["sort"]=>
int(1)
}
[1]=>
object(stdClass)#213 (3) {
["id"]=>
int(2)
["display_name"]=>
string(7) "Cutting"
["sort"]=>
int(2)
}
[2]=>
object(stdClass)#214 (3) {
["id"]=>
int(3)
["display_name"]=>
string(6) "Sewing"
["sort"]=>
int(3)
}
[3]=>
object(stdClass)#215 (3) {
["id"]=>
int(4)
["display_name"]=>
string(9) "Finishing"
["sort"]=>
int(4)
}
[4]=>
object(stdClass)#216 (3) {
["id"]=>
int(5)
["display_name"]=>
string(10) "Deactivate"
["sort"]=>
int(5)
}
}
아래는 제 연습이지만 복잡한 코드라고 생각합니다.
// $gateways is the array contains a list of objects.
// find max sort value in array first
$max = max(array_map(function($row){ return $row->sort; }, $gateways));
// then find in array object with sort value is equal to $max value
$filter = array_filter($gateways, function($row) use ($max){
return $max == $row->sort;
});
if(count($filter)){
$finalResult = array_shift($filter);
}
자바에서 reduce
처럼 더 짧은 방법이 있나요?
감사합니다.
http://php.net/manual/en/function.array-reduce.php – splash58