PHP에서 배열의 최소 요소(최솟값)를 찾는 방법을 소개합니다. 아래 예제 코드를 통해 직접 구현하는 과정을 단계별로 살펴보겠습니다.
예제 코드
<?php
function get_min_value($my_array){
$n = count($my_array);
$min_val = $my_array[0];
for ($i = 1; $i < $n; $i++)
if ($min_val > $my_array[$i])
$min_val = $my_array[$i];
return $min_val;
}
$my_array = array(56, 78, 91, 44, 0, 11);
print_r("The lowest value of the array is ");
echo(get_min_value($my_array));
echo("\n");
?>실행 결과
The lowest value of the array is 0
코드 설명
1. 함수 정의와 요소 개수 확인
'get_min_value()'라는 이름의 함수가 배열을 매개변수로 받습니다. 함수 내부에서는 count() 함수를 사용해 배열에 포함된 요소의 개수를 구한 뒤 변수에 저장합니다.
$n = count($my_array);
2. 최솟값 탐색 로직
먼저 배열의 첫 번째 요소를 최솟값 후보로 지정합니다. 이후 for 반복문으로 배열 전체를 순회하면서 현재까지의 최솟값과 각 요소를 비교하고, 더 작은 값이 발견되면 그 값으로 최솟값을 갱신합니다. 반복이 모두 끝나면 최종적으로 가장 작은 값을 반환합니다.
$min_val = $my_array[0]; for ($i = 1; $i < $n; $i++) if ($min_val > $my_array[$i]) $min_val = $my_array[$i]; return $min_val;
3. 함수 호출 및 결과 출력
함수 외부에서 배열을 정의한 뒤, 해당 배열을 인자로 전달하며 함수를 호출합니다. 반환된 최솟값은 print_r()과 echo를 통해 화면에 출력됩니다.
$my_array = array(56, 78, 91, 44, 0, 11);
print_r("The lowest value of the array is ");
echo(get_min_value($my_array));참고: 내장 함수 min() 활용하기
PHP에서는 위와 같이 직접 구현하지 않아도 내장 함수 min()을 사용해 한 줄로 배열의 최솟값을 구할 수 있습니다. 다만 알고리즘 학습이나 코딩 테스트 준비를 위해서는 직접 구현하는 방법도 반드시 익혀두는 것이 좋습니다.
echo min(array(56, 78, 91, 44, 0, 11)); // 결과: 0