반응형
PHP: 키를 어떻게 사용하고 유지합니까?
이하의 어레이를 탑재하고 있습니다(표시하기 쉽도록 JSON으로 표시).
{
"23": {
"price": "33.99"
},
"38": {
"price": "30.86"
},
"51": {
"price": "31.49"
}
}
이 항목을 다음 순서로 정렬하고 싶다.price
key, 하지만 결과가 가격을 포함한 요소의 키도 반환하고 싶기 때문에 다음과 같습니다.
{
"38": {
"price": "30.86"
},
"51": {
"price": "31.49"
},
"23": {
"price": "33.99"
}
}
나의usort
콜백은 다음과 같습니다.
private function _price_sort($a, $b)
{
if ($a['price'] == $b['price']) {
return 0;
}
return ($a['price'] < $b['price']) ? -1 : 1;
}
... 요소 컨테이너가 없는 올바른 순서로 배열이 반환됩니다.
[
{
"price": "30.86"
},
{
"price": "31.49"
},
{
"price": "33.99"
}
]
키를 유지하기 위해 콜백 기능 또는 사용 방법으로 해야 할 일이 있습니까?
키를 유지 보수하기 위해 사용
이 함수는 사용자 정의 비교 함수를 사용하여 어레이 인덱스가 연관된 어레이 요소와의 상관 관계를 유지하도록 어레이를 정렬합니다.
언급URL : https://stackoverflow.com/questions/29156729/php-how-to-usort-and-maintain-keys
반응형
'itsource' 카테고리의 다른 글
JSON 개체는 str, 바이트 또는 byearray여야 하며 dict가 아닙니다. (0) | 2023.04.02 |
---|---|
몽고이드 아니면 몽고매퍼? (0) | 2023.04.02 |
부울에서의 ng-filter 필터 (0) | 2023.03.28 |
클래스 메서드에서 'this'가 사용되어야 합니다. (0) | 2023.03.28 |
왜 '약속'일까?console.log가 아닌 React 컴포넌트에서 두 번 호출된 경우 (0) | 2023.03.28 |