>  기사  >  백엔드 개발  >  PHP에서 주어진 값보다 작지 않은 배열에서 가장 작은 값을 찾는 방법

PHP에서 주어진 값보다 작지 않은 배열에서 가장 작은 값을 찾는 방법

PHPz
PHPz원래의
2023-04-06 09:14:48721검색

PHP는 배열에서 주어진 값보다 작지 않은 가장 작은 값을 찾는 데 유용한 몇 가지 기능을 제공합니다. 이 기사에서는 PHP 내장 함수를 사용하여 주어진 값보다 작지 않은 배열에서 가장 작은 값을 찾는 방법과 자체 함수를 작성하여 이를 수행할 수 있는 다른 방법을 살펴보겠습니다.

1. PHP 내장 함수 사용

PHP는 배열에서 지정된 값보다 작지 않은 최소값을 찾는 여러 내장 함수를 제공합니다.

  1. min(): 최소값 찾기. value in the array
  2. array_filter(): 별도의 콜백 함수를 사용하여 배열을 필터링합니다.
  3. array_reduce(): 콜백 함수를 사용하여 배열을 반복하고 값을 반환합니다.

아래에서는 이러한 함수의 사용과 해당 함수에 대해 설명합니다. 구현을 더 자세히 설명합니다.

1. min() 함수

min() 함수는 배열에서 최소값을 찾을 수 있습니다. 아래와 같이 배열을 매개변수로 전달하면 됩니다.

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$minValue = min($arr); 
echo "The minimum value in the array is: " . $minValue; 
?>

위 코드에서는 min() 함수를 사용하여 $arr 배열에서 최소값을 찾고 그 결과를 $minValue 변수에 저장합니다. 마지막으로 찾은 최소값을 출력합니다.

주어진 값보다 작지 않은 배열의 최소값을 찾으려면 array_filter() 함수를 사용하여 배열을 필터링한 다음 min() 함수를 사용하여 다음과 같이 최소값을 찾으면 됩니다. :

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$value = 5; 
$filteredArray = array_filter($arr, function($element) use($value){ 
    return $element >= $value; 
}); 
$minValue = min($filteredArray); 
echo "The minimum value in the array that is not less than $value is: " . $minValue; 
?>

위의 코드에서는 array_filter() 함수를 사용하여 익명 함수 형식으로 배열을 필터링합니다. 익명 함수는 5보다 작지 않은 모든 요소를 ​​반환합니다. 그런 다음 min() 함수를 사용하여 $filteredArray 배열에서 최소값을 찾고 결과를 출력합니다.

2. array_reduce() 함수

array_reduce() 함수는 콜백 함수를 통해 배열을 반복하고 값을 반환하는 데 사용됩니다. array_reduce() 함수를 사용하여 최소값을 찾기 위한 배열 기반 알고리즘을 구현할 수 있습니다. 다음은 위의 예와 유사하게 배열에서 주어진 값보다 작지 않은 가장 작은 값을 찾기 위해 array_reduce() 함수를 사용하는 예입니다.

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$value = 5; 
$filteredArray = array_filter($arr, function($element) use($value){ 
    return $element >= $value; 
}); 
$minValue = array_reduce($filteredArray, function($accumulator, $element){ 
    if ($accumulator === null || $element < $accumulator) {
        return $element; 
    }
    return $accumulator;
}, null); 
echo "The minimum value in the array that is not less than $value is: " . $minValue; 
?>

위 코드에서는 익명 함수를 사용하여 배열을 사용하고 array_reduce() 함수는 필터링된 배열을 반복합니다. 이 익명 함수는 반복 중에 이전에 찾은 최소값을 비교하고 새 최소값을 반환하는 데 사용됩니다.

둘째, 자신만의 함수를 작성하여 문제를 해결하세요

또한 주어진 값보다 작지 않은 배열의 최소값을 찾는 함수를 직접 작성할 수도 있습니다. 두 방법의 핵심 아이디어는 배열을 반복하고 각 요소를 비교하여 조건이 충족되는지 확인하는 것입니다. 아래에서는 두 가지 방법을 소개합니다.

1. foreach 루프를 사용하여 구현

아래와 같이 foreach 루프를 사용하여 배열을 탐색하고 변수를 사용하여 최소값을 추적할 수 있습니다.

<?php 
function findMinValue($arr, $value){ 
    $minValue = null;
    foreach($arr as $element) {
        if ($element >= $value && ($minValue === null || $element < $minValue)) { 
            $minValue = $element; 
        }
    }
    return $minValue; 
}
?>

위 코드에서 정의 findMinValue()라는 함수는 배열에서 주어진 값보다 작지 않은 가장 작은 값을 찾는 데 사용됩니다. foreach 루프에서는 if 문을 사용하여 각 요소를 비교하고 가장 작은 요소가 포함된 변수를 업데이트합니다.

2. while 루프를 사용하여 구현

지정된 값보다 작지 않은 최소값을 찾는 또 다른 방법은 아래와 같이 while 루프를 사용하는 것입니다.

<?php 
function findMinValue($arr, $value){ 
    $i = 0;
    $n = count($arr); 
    $minValue = null; 
    while($i < $n) {
        if ($arr[$i] >= $value && ($minValue === null || $arr[$i] < $minValue)) { 
            $minValue = $arr[$i]; 
        }
        ++$i;
    }
    return $minValue; 
}
?>

이전 예제와 달리 이 예제에서는 while 루프를 사용합니다. 배열의 모든 요소를 ​​반복하고 가장 작은 요소를 포함하는 변수를 업데이트합니다.

결론

이 글에서는 PHP에서 주어진 값보다 작지 않은 배열에서 가장 작은 값을 찾는 여러 가지 방법을 소개했습니다. PHP 내장 함수 min(), array_filter() 또는 array_reduce()를 사용하거나 foreach 또는 while 루프를 사용하는 것과 같은 자체 함수를 작성할 수 있습니다. 요약하자면, PHP 애플리케이션을 작성할 때 지정된 값보다 작지 않은 배열에서 가장 작은 값을 찾는 것은 일반적인 활동일 수 있으며 이를 달성하기 위해 위의 방법 중 하나를 사용할 수 있습니다.

위 내용은 PHP에서 주어진 값보다 작지 않은 배열에서 가장 작은 값을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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