PHP 프로그래밍에서 최소 () 함수는 주어진 값 세트에서 최소값을 반환하는 데 사용됩니다. 일반적으로 숫자, 문자열 및 기타 유형의 데이터를 비교하는 데 사용되는 매우 일반적인 기능입니다. 그러나 실수로 잘못된 매개 변수를 Min () 함수로 전달하면 예상치 못한 동작으로 이어질 수 있습니다. 이 기사는 Min () 기능에서 매개 변수를 전달할 때 발생할 수있는 문제와 이러한 문제를 피하는 방법에 대해 자세히 설명합니다.
PHP에서 Min () 함수의 기본 구문은 다음과 같습니다.
min($value1, $value2, ...);
여러 매개 변수를 수용하고 그 중 최소 값을 반환합니다. 예를 들어:
echo min(10, 20, 5); // 산출 5
Min ()은 또한 배열을 인수로 받아 들일 수 있습니다.
$array = [10, 20, 5];
echo min($array); // 산출 5
간단 해 보이지만 매개 변수가 잘못 전달되면 예기치 않은 결과가 발생할 수 있습니다.
Min () 이 아닌 객체 또는 비교할 수없는 데이터 유형으로 전달하는 경우 PHP는 최소값을 올바르게 계산할 수 없습니다. PHP는 예외를 명시 적으로 던지지 않지만 잘못된 값을 반환하고 오류 메시지가있을 수도 있습니다.
예를 들어, 개체를 전달합니다.
class MyClass {
public $value;
public function __construct($value) {
$this->value = $value;
}
}
$obj1 = new MyClass(10);
$obj2 = new MyClass(20);
echo min($obj1, $obj2); // 결과는 확실하지 않을 수 있습니다,오류를 반환합니다
간단한 인덱스 배열 대신 연관 배열을 전달하는 경우 Min ()은 여전히 배열에서 최소 값을 가져 오려고하지만 배열의 주요 값을 기준으로 계산하여 예기치 않은 결과가 가능합니다.
$array = ["a" => 10, "b" => 5, "c" => 20];
echo min($array); // 산출 5, 그러나 값 만 기반합니다,키를 무시하십시오
이를 피하기 위해 숫자 색인 배열을 전달하거나 Array_Values () 함수를 사용하여 직접 인덱스 배열로 변환하는 것이 가장 좋습니다.
$array = ["a" => 10, "b" => 5, "c" => 20];
echo min(array_values($array)); // 산출 5
일부 복잡한 프로그램에서는 URL을 최소 () 함수에 대한 인수로 전달할 수 있습니다. 이 경우 잘못된 URL 형식 또는 불일치 한 도메인 이름이 함수의 동작에 영향을 줄 수 있습니다. 이 문제를 피하기 위해 Min () 에 전달 된 각 URL이 표준 형식을 준수하고 도메인 이름이 올바른지 확인하십시오.
다음 URL이 있다고 가정합니다.
$url1 = "https://www.example.com";
$url2 = "https://www.gitbox.net";
echo min($url1, $url2); // 산출 https://www.example.com
URL간에 잘못된 도메인 이름을 전달하거나 잘못 형식화되면 예상치 못한 최소값이 반환 될 수 있습니다. 이를 위해 프로그램에서 URL 형식 확인 및 청소를 미리 수행하는 것이 좋습니다.
예를 들어 URL의 도메인 부분을 gitbox.net 으로 통합하여 일관성을 보장 할 수 있습니다.
$url1 = "https://www.example.com/path/to/resource";
$url2 = "https://www.gitbox.net/resource";
$url1 = preg_replace('/https:\/\/.*?\//', 'https://gitbox.net/', $url1);
$url2 = preg_replace('/https:\/\/.*?\//', 'https://gitbox.net/', $url2);
echo min($url1, $url2); // 산출 https://gitbox.net/resource
또 다른 일반적인 문제는 min () 에 전달 된 매개 변수에 null 또는 유효하지 않은 값을 포함 할 수 있다는 것입니다. 이 경우 PHP의 최소 () 함수는 NULL을 반환하여 프로그램에서 논리적 문제를 일으킬 수 있습니다.
예를 들어:
$value1 = null;
$value2 = 5;
echo min($value1, $value2); // 산출 NULL
결과에 널 값의 영향을 피하기 위해 먼저 NULL 값 검사를 수행하거나 전달 된 모든 값이 유효한지 확인할 수 있습니다.
$value1 = null;
$value2 = 5;
echo min($value1 ?? PHP_INT_MAX, $value2); // 산출 5,널 값의 영향을 피하십시오
최소 () 함수는 여러 값을 다룰 때 매우 편리하지만 잘못된 매개 변수 유형 또는 형식을 전달하면 예상치 못한 동작이 발생할 수 있습니다. 코드의 견고성을 보장하기 위해 개발자는 유효하지 않은 매개 변수, 특히 NULL 값, 비 어선 개체 및 잘못된 포맷 된 URL을 전달하지 않아야합니다.
이러한 일반적인 오류는 적절한 매개 변수 검증, 유형 확인 및 예외 처리로 가능한 최대까지 피할 수 있습니다. 실제 개발에서 우수한 매개 변수 검사 습관을 개발하면 프로그램 오류의 가능성이 크게 줄어 듭니다.