이전 글 → "PHP 배열 학습: 배열 요소를 비교하고 첫 번째와 두 번째로 큰 값 얻기"에서는 for 루프를 사용하여 배열의 요소 크기를 하나씩 비교하고 최대값과 두 번째 값을 얻는 방법을 소개했습니다. 배열의 두 번째 값. 두 번째로 큰 값 방법입니다. 이 방법이 조금 복잡하다고 생각하시나요? 사실 PHP 함수를 사용하여 최대값과 두 번째 최대값을 얻을 수 있습니다. 이에 대해 알아봅시다~
이 글의 주제는 이전 글과 동일합니다. 일련의 숫자가 주어지면 최대값과 두 번째 최대값을 계산합니다." 하지만 이번에는 for 루프와 if 문을 사용하지 않습니다. 이를 달성하기 위해 PHP 내장 함수를 사용합니다.
다음과 같은 데이터 집합을 포함하는 배열을 정의합니다.
$arr = array(555,5,1,429,18,21,52,2,52,9,3,);
최대값 555와 두 번째 최대값 429를 꺼내고 싶습니다.
구현 아이디어 1:
사실 PHP에는 max() 함수가 내장되어 있는데, 이를 사용하면 한 단계로 배열의 최대값을 얻을 수 있으며, 그런 다음 최대값을 제거할 수 있습니다. 그런 다음 다음 요소에서 max() 함수를 사용하여 최대값을 얻습니다.
구현 코드를 살펴보겠습니다:
분석:
max($arr)
를 사용하여 배열의 최대값을 구하고 이를$max에 할당합니다.
.max($arr)
获取数组最大值赋值给$max
。
然后创建一个只包含$max一个值的新数组,将该数组和$arr数组比较,取差值;简单来说,array_diff($arr,array($max))
就是用来删除最大值$max
。
最后在调用一次max($arr)
在剩下的元素中取最大值,就获得到原数组的第二大元素,将该值赋给$secMax
array_diff($arr,array($max)) code>는 최대값 $max
를 삭제하는 데 사용됩니다.
마지막으로max($arr)
를 호출하여 나머지 요소 중 최대값을 얻은 다음 원래 배열에서 두 번째로 큰 요소를 가져오고 이 값을
$초최대.
출력 결과는 다음과 같습니다.
구현 아이디어 2: 요소 값의 크기에 따라 배열을 오름차순 또는 내림차순으로 정렬한 다음 최대값과 두 번째 값으로 정렬할 수 있습니다. 배열의 최대값은 다음과 같습니다. 첫 번째와 두 번째(내림차순) 또는 첫 번째에서 마지막과 두 번째에서 마지막(오름차순) 요소//升序排序 $arr = array(555,5,1,429,18,21,52,2,52,9,3,); sort($arr); var_dump($arr);
//降序排序 $arr = array(555,5,1,429,18,21,52,2,52,9,3,); rsort($arr); var_dump($arr);
이 두 요소만 제거하면 됩니다. 구현 코드를 살펴보겠습니다.
"; //升序排序 sort($arr); $len = count($arr); //数组长度 $max = $arr[$len-1]; $secMax = $arr[$len-2]; echo "最大值为".$max.",第二大值为".$secMax; ?>
오름차순 방법은 배열 길이 문제도 고려해야 하지만 내림차순 방법은 더 간단합니다.
그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →php 동영상 튜토리얼마지막으로 PHP 배열에 대한 무료 동영상 튜토리얼을 추천합니다: PHP 함수 배열 배열 함수 동영상 설명, 와서 배워보세요!위 내용은 PHP 배열 학습 및 함수를 사용하여 최대값과 두 번째 최대값을 추출하는 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!