Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP min() 함수 완벽 정리 – 배열과 여러 값에서 최솟값 구하기

정의 및 사용법

PHP의 min() 함수는 배열에 포함된 요소 중 가장 작은 값을 반환하거나, 쉼표로 구분된 두 개 이상의 매개변수 중에서 최솟값을 반환하는 내장 함수입니다.

구문

배열을 인자로 사용하는 경우:

min ( array $values ) : mixed

두 개 이상의 개별 값을 인자로 사용하는 경우:

min ( mixed $value1 [, mixed $... ] ) : mixed

매개변수

번호매개변수 및 설명
1values
인자를 하나만 전달할 경우, 반드시 배열이어야 합니다. 배열의 요소들은 타입이 같아도 되고 서로 달라도 됩니다.
2value1, value2, ..
인자를 두 개 이상 전달할 경우, 각 값은 서로 비교 가능한 값이어야 합니다. 이때도 타입은 같거나 달라도 무방합니다.

반환 값

PHP min() 함수는 배열 매개변수 또는 값 목록 중에서 가장 작은 값을 반환합니다. 비교에는 표준 비교 연산자(<, > 등)가 적용됩니다. 만약 서로 다른 타입의 여러 값이 동일하게 평가되는 경우(예: 숫자 0과 문자열 'PHP'), 함수에 전달된 첫 번째 매개변수가 반환됩니다.

지원 PHP 버전

이 함수는 PHP 4.x, PHP 5.x, 그리고 PHP 7.x 모든 버전에서 사용할 수 있습니다.

예제 1: 숫자 배열에서 최솟값 찾기

다음 예제는 숫자로 이루어진 배열에서 가장 작은 값을 반환합니다.

<?php
   $arg = array(23, 5.55, 142, 56, 99);
   echo "array=";
   foreach ($arg as $i) echo $i . ",";
   echo "\n";
   echo "min = " . min($arg);
?>

출력 결과

array=23,5.55,142,56,99,
min = 5.55

예제 2: 문자열 배열에서 최솟값 찾기

문자열 배열에 min() 함수를 적용하면 사전순으로 가장 앞서는 문자열이 반환됩니다.

<?php
   $arg = array("Java", "Angular", "PHP", "C", "Kotlin");
   echo "array=";
   foreach ($arg as $i) echo $i . ",";
   echo "\n";
   echo "min = " . min($arg);
?>

출력 결과

array=Java,Angular,PHP,C,Kotlin,
min = Angular

예제 3: 개별 문자열 값 비교하기

다음 예제에서는 배열 대신 여러 개의 문자열 값을 개별 인자로 min() 함수에 전달합니다.

<?php
   $val1 = "Java";
   $val2 = "Angular";
   $val3 = "PHP";
   $val4 = "C";
   $val5 = "Kotlin";
   echo "values=" . $val1 . "," . $val2 . "," . $val3 . "," . $val4 . "," . $val5 . "\n";
   echo "min = " . min($val1, $val2, $val3, $val4, $val5);
?>

출력 결과

values=Java,Angular,PHP,C,Kotlin
min = Angular

예제 4: 혼합 데이터 타입 배열 다루기

다음 예제에서는 숫자와 문자열이 섞여 있는 배열에 min() 함수를 적용한 결과를 보여줍니다.

<?php
   $arg = array(23, "Java", 142, 1e2, 99);
   echo "array=";
   foreach ($arg as $i) echo $i . ",";
   echo "\n";
   echo "min = " . min($arg);
?>

출력 결과

array=23,Java,142,100,99,
min = Java

위 예제에서 문자열 "Java"가 최솟값으로 반환된 이유는, PHP가 숫자와 문자열을 비교할 때 문자열을 숫자로 변환하여 비교하기 때문입니다. "Java"는 숫자 0으로 변환되며, 배열 내 어떤 양수보다 작게 평가되어 최솟값이 됩니다.