>  기사  >  백엔드 개발  >  PHP 배열에서 숫자의 순위를 찾는 방법

PHP 배열에서 숫자의 순위를 찾는 방법

PHPz
PHPz원래의
2023-04-23 10:14:491069검색

많은 경우 배열에서 숫자의 순위를 쿼리해야 합니다. 예를 들어, 시험 점수 배열에서 순위를 알고 싶습니다. PHP에서는 이 기능을 달성하기 위해 다양한 방법을 사용할 수 있습니다. 아래에서는 몇 가지 구현 방법을 소개하겠습니다.

방법 1: array_search 함수 사용

array_search 함수는 배열에서 주어진 값을 검색하고 해당 값이 있는 키 이름을 반환할 수 있습니다. 이 기능을 사용하면 배열에서 특정 숫자의 위치를 ​​쉽게 얻은 다음 이를 다른 점수와 비교하여 순위를 얻을 수 있습니다. 다음은 샘플 코드입니다.

<?php
$grades = array(85, 90, 73, 79, 92, 88, 75);
rsort($grades); // 按照从高到低的顺序排序
$rank = array_search(79, $grades) + 1;
echo "您的成绩在数组中的排名是第 $rank 名。";
?>

위 코드에서 rsort 함수는 배열을 높은 것에서 낮은 것으로 정렬합니다. 그런 다음 array_search 함수를 사용하여 배열에서 숫자 79의 위치를 ​​찾고 1을 추가하여 순위를 얻습니다. 최종 순위를 출력하면 됩니다.

참고: 배열에 동일한 숫자가 여러 개 있는 경우 array_search 함수는 일치하는 첫 번째 항목의 키 이름만 반환합니다. 일치하는 모든 항목의 위치를 ​​얻으려면 전체 배열을 반복하여 찾아야 합니다.

방법 2: array_flip 및 asort 함수 사용

이 방법은 먼저 array_flip 함수를 사용하여 원래 배열의 키와 값을 교환한 다음 asort 함수를 사용하여 값에 따라 오름차순으로 배열을 정렬한 다음 array_flip 함수를 사용하여 키와 값을 교환합니다. 마지막으로 새 배열에서 주어진 숫자의 위치를 ​​찾으세요. 샘플 코드는 다음과 같습니다.

<?php
$grades = array(85, 90, 73, 79, 92, 88, 75);
$flipped_array = array_flip($grades);
asort($flipped_array);
$rank = array_search(79, $flipped_array) + 1;
echo "您的成绩在数组中的排名是第 $rank 名。";
?>

위 코드에서는 먼저 원래 배열의 키와 값을 바꾼 다음 값을 기준으로 오름차순으로 정렬합니다. 이러한 방식으로 가장 작은 값을 가진 키의 순위가 첫 번째로 지정되고, 두 번째로 작은 값의 키가 두 번째로 순위가 지정되는 식입니다. 마지막으로 새 배열에서 주어진 숫자의 위치를 ​​찾아 1을 더합니다.

요약:

위의 두 가지 방법 모두 배열에서 특정 숫자의 순위를 찾는 데 사용할 수 있습니다. 배열에 동일한 숫자가 여러 개 있는 경우 배열에서의 위치를 ​​확인하려면 전체 배열을 탐색해야 합니다. 또한 다양한 방법에는 적용 가능한 시나리오도 다르므로 실제 상황에 따라 선택하고 사용해야 합니다.

위 내용은 PHP 배열에서 숫자의 순위를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.