현재 위치: > 최신 기사 목록> 최소 값의 효율적인 필터링을 달성하기 위해 PHP의 최소 기능과 Array_Filter 함수를 결합하는 방법은 무엇입니까?

최소 값의 효율적인 필터링을 달성하기 위해 PHP의 최소 기능과 Array_Filter 함수를 결합하는 방법은 무엇입니까?

gitbox 2025-06-11

PHP 개발에서 배열 데이터를 처리 할 때 특정 조건을 충족하고 최소 값을 찾는 요소를 필터링해야합니다. 이 기사는 Array_FilterMin 함수를 결합하여 효율적이고 간결한 최소 값 필터링 방법을 달성하는 방법을 소개합니다.


1. Array_FilterMin 의 역할을 이해하십시오

  • ARRAY_FILTER : 배열을 가로 지르고 사용자 정의 된 콜백 함수를 기반으로 조건을 충족하는 요소를 필터링하고 새 배열을 반환하는 데 사용됩니다.

  • Min : 배열의 최소값 또는 여러 매개 변수의 최소값을 반환합니다.

일반적으로 Min을 직접 사용하는 경우 조건을 충족하지 않는 요소를 필터링 할 수 없습니다. Array_Filter는 조건을 충족하는 요소를 필터링 한 다음 결과에 최소를 적용하여 최소값을 얻을 수 있습니다.


2. 샘플 요구 사항 시나리오

일부 제품의 가격을 나타내는 일련의 데이터가 있다고 가정하고, 100 개 이상의 가격으로 제품의 최소 가격 만 얻고 싶습니다.

 <?php
$prices = [150, 50, 200, 120, 80, 300];

// 사용 array_filter 필터 아웃 가격은보다 큽니다 100 강요
$filtered = array_filter($prices, function($price) {
    return $price > 100;
});

// 사용 min 필터링 된 배열에서 최소값을 얻으십시오
$minPrice = min($filtered);

echo "가격은보다 큽니다 100 최소값은입니다:" . $minPrice;
?>

출력 결과 :

 가격은보다 큽니다 100 최소값은입니다:120

3. 주목할만한 것들

3.1 필터링 후 배열이 비어있을 때 처리

필터링 조건이 너무 엄격하여 필터링 된 배열이 비어 있으면 최소 기능이 경고를 던져 프로그램에 오류가 발생합니다.

먼저 필터링 어레이가 비어 있는지 확인할 수 있습니다.

 <?php
$filtered = array_filter($prices, function($price) {
    return $price > 500; // 엄격한 조건,결과가 없을 수 있습니다
});

if (!empty($filtered)) {
    $minPrice = min($filtered);
    echo "符合条件최소값은입니다:" . $minPrice;
} else {
    echo "没有符合条件강요。";
}
?>

4. 키 값 배열 사용

배열이 키 값 쌍이고 값에 따라 필터링 해야하는 경우 :

 <?php
$products = [
    'A' => 150,
    'B' => 50,
    'C' => 200,
    'D' => 120,
    'E' => 80,
    'F' => 300,
];

$filtered = array_filter($products, fn($price) => $price > 100);

if (!empty($filtered)) {
    $minPrice = min($filtered);
    $minKey = array_search($minPrice, $filtered);
    echo "가격은보다 큽니다100제품 중,최소 가격은입니다 $minPrice,제품 번호입니다 $minKey";
} else {
    echo "기준을 충족하는 제품이 없습니다。";
}
?>

5. 요약

  • 먼저 array_filter를 사용하여 기준을 충족하는 요소를 필터링하십시오.

  • 그런 다음 최소를 사용하여 필터링 후 최소값을 찾으십시오.

  • 런타임 오류를 피하기 위해 빈 배열의 경계 상황을 처리하는 데주의를 기울이십시오.

  • 키 값 배열을 결합 할 때 Array_Search를 사용하여 해당 키 이름을 찾으십시오.

이 방법은 간결하고 명확하며 코드는 읽기 쉽고 효율적이며 필터링 및 최소 값을 찾는 대부분의 시나리오에 적합합니다.