편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
8번째 줄: | 8번째 줄: | ||
function sortValues($array, $by, $ascending=[]) { | function sortValues($array, $by, $ascending=[]) { | ||
$makeComparer = function ($criteria) { | $makeComparer = function ($criteria) { | ||
$comparer = function ($a, $b) use ($criteria) { | |||
for($i=0; $i<count($criteria[0]); $i++) { | |||
$key = $criteria[0][$i]; | |||
$asc = $criteria[1][$i] ?? true; | $asc = $criteria[1][$i] ?? true; | ||
if ($a[$key] < $b[$key]) return $asc ? -1 : 1; | if ($a[$key] < $b[$key]) return $asc ? -1 : 1; | ||
16번째 줄: | 17번째 줄: | ||
return 0; | return 0; | ||
}; | }; | ||
return $comparer; | |||
}; | }; | ||
$comparer = $makeComparer([$by, $ascending]); | |||
usort($array, $comparer); | |||
return $array; | return $array; | ||
} | } | ||
38번째 줄: | 41번째 줄: | ||
# 출력 | # 출력 | ||
echo "employee1: \n", preg_replace('/\\},/',"},\n",json_encode($employees1,JSON_UNESCAPED_UNICODE))."\n\n"; | |||
echo "employee2: \n", preg_replace('/\\},/',"},\n",json_encode($employees2,JSON_UNESCAPED_UNICODE))."\n\n"; | |||
echo "employee3: \n", preg_replace('/\\},/',"},\n",json_encode($employees3,JSON_UNESCAPED_UNICODE))."\n\n"; | |||
echo "employee4: \n", preg_replace('/\\},/',"},\n",json_encode($employees4,JSON_UNESCAPED_UNICODE))."\n\n"; | |||
</syntaxhighlight> | </syntaxhighlight> | ||