
usort 함수는 정렬된 배열을 생성할 때 사용하는 함수입니다. array_key_exists 함수는 특정 키가 배열에 존재하는지 확인하는 함수입니다. 그러나 usort 함수 내에서 array_key_exists 함수를 사용하는 것은 권장되지 않습니다.
usort 함수 내에서 array_key_exists 함수를 사용하는 예제 코드는 다음과 같습니다.
#hostingforum.kr
php
$fruits = array('apple' => array('price' => 10), 'banana' => array('price' => 5), 'cherry' => array('price' => 15));
usort($fruits, function($a, $b) {
return array_key_exists('price', $a) && array_key_exists('price', $b) ? $a['price'] - $b['price'] : 0;
});
print_r($fruits);
이 코드는 정렬된 배열을 생성하지만, array_key_exists 함수를 사용하여 키가 존재하는지 확인하는 방법이 없을까요?
그렇습니다. array_key_exists 함수를 사용하여 키가 존재하는지 확인하는 방법이 없습니다. 이유는 array_key_exists 함수는 배열에 키가 존재하는지 확인하는 함수이기 때문입니다. usort 함수 내에서 array_key_exists 함수를 사용하면, 키가 존재하지 않는 경우 에러가 발생할 수 있습니다.
다른 방법은 다음과 같습니다.
#hostingforum.kr
php
$fruits = array('apple' => array('price' => 10), 'banana' => array('price' => 5), 'cherry' => array('price' => 15));
usort($fruits, function($a, $b) {
$priceA = isset($a['price']) ? $a['price'] : INF;
$priceB = isset($b['price']) ? $b['price'] : INF;
return $priceA - $priceB;
});
print_r($fruits);
이 코드는 array_key_exists 함수를 사용하지 않고, isset 함수를 사용하여 키가 존재하는지 확인합니다. isset 함수는 변수가 존재하는지 확인하는 함수입니다. INF (무한대) 값을 사용하여, 키가 존재하지 않는 경우 무한대 값을 반환합니다.
2025-07-19 02:49