현재 위치: > 최신 기사 목록> Array_Count_Values ​​()를 사용하여 Array_Filter ()와 함께 복잡한 필터링 후 통계 분석을 달성하는 방법?

Array_Count_Values ​​()를 사용하여 Array_Filter ()와 함께 복잡한 필터링 후 통계 분석을 달성하는 방법?

M66 2025-05-16

PHP에서는 종종 데이터를 필터링하고 계산해야합니다. Array_Filter ()Array_Count_Values ​​() 는 두 가지 매우 유용한 기능입니다. Array_Filter ()는 조건에 따라 배열에서 요소를 필터링 할 수 있지만 Array_Count_Values ​​()는 배열에서 값을 계산하고 결과를 반환 할 수 있습니다. 이 두 기능을 결합하여 복잡한 배열 스크리닝을 효율적으로 수행하고이를 기반으로 통계 분석을 수행 할 수 있습니다.

1. 복잡한 필터링을 위해 Array_Filter ()를 사용하십시오

Array_Filter () 함수는 두 매개 변수를 허용하고 첫 번째는 배열이고 두 번째는 콜백 함수입니다. 콜백 함수는 필터링 조건을 정의하는 데 사용되며 조건을 충족하는 요소 만 유지됩니다.

예를 들어, 여러 URL이있는 배열이 있고 도메인 이름 M66.net 에서 모든 URL을 걸러 내려고한다고 가정합니다.

 <?php
// 원래 배열
$urls = [
    'https://m66.net/page1',
    'https://example.com/page2',
    'https://m66.net/page3',
    'https://otherdomain.net/page4',
    'https://m66.net/page5',
];

// 사용 array_filter() 필터링 m66.net 도메인 이름 URL
$filteredUrls = array_filter($urls, function ($url) {
    return strpos($url, 'm66.net') !== false;
});

// 필터링 된 배열을 인쇄하십시오
print_r($filteredUrls);
?>

출력 결과 :

 Array
(
    [0] => https://m66.net/page1
    [2] => https://m66.net/page3
    [4] => https://m66.net/page5
)

이 예에서 Array_Filter ()는 M66.net을 포함하는 모든 URL을 필터링하는 데 사용됩니다.

2. 통계 분석을 위해 Array_Count_Values ​​()를 사용하십시오

Array_Count_Values ​​() 함수는 원래 배열에 나타나는 각 값의 숫자를 포함하는 배열을 반환합니다. 통계 분석을 위해 필터링 된 결과를 array_count_values ​​() 로 전달할 수 있습니다.

예를 들어, M66.net 도메인 이름이 나타나는 횟수를 계산하려고합니다.

 <?php
// 사용 array_count_values() 통계 발생 수
$urlCount = array_count_values($filteredUrls);

// 통계 결과를 인쇄하십시오
print_r($urlCount);
?>

출력 결과 :

 Array
(
    [https://m66.net/page1] => 1
    [https://m66.net/page3] => 1
    [https://m66.net/page5] => 1
)

이 예에서는 array_count_values ​​()가 각 URL의 발생 수를 반환합니다. 각 URL은 배열에 한 번만 나타나기 때문에 결과의 각 URL은 1입니다.

3. array_filter ()array_count_values의 포괄적 인 사용 ()

Array_Filter ()Array_Count_Values ​​()를 결합하여 데이터를 정확하게 필터링하고 통계 분석을 수행 할 수 있습니다. 이 접근법은 복잡한 데이터 선별 및 분석 작업을 처리하는 데 이상적입니다.

예를 들어, 다른 URL과 방문 횟수를 포함하는보다 복잡한 배열이 있다고 가정하면 먼저 기준을 충족하는 URL을 필터링 한 다음 각 URL의 발생 빈도를 계산할 수 있습니다.

 <?php
// 원래 배열,방문을 포함하여
$urlsWithVisits = [
    'https://m66.net/page1' => 10,
    'https://example.com/page2' => 5,
    'https://m66.net/page3' => 8,
    'https://otherdomain.net/page4' => 12,
    'https://m66.net/page5' => 15,
];

// 필터링 m66.net 도메인 이름 URL
$filteredUrlsWithVisits = array_filter($urlsWithVisits, function ($url) {
    return strpos($url, 'm66.net') !== false;
}, ARRAY_FILTER_USE_KEY);

// 방문 통계
$urlVisitCount = array_count_values($filteredUrlsWithVisits);

// 인쇄 결과
print_r($urlVisitCount);
?>

출력 결과 :

 Array
(
    [10] => 1
    [8] => 1
    [15] => 1
)

이 예에서 Array_Filter ()는 M66.net 도메인 이름의 URL을 필터링하는 데 사용되며 Array_Count_Values ​​()는 이러한 URL이 나타나는 횟수를 계산합니다.

요약

Array_Filter ()Array_Count_Values ​​()를 결합하여 배열 데이터를 유연하게 필터링하고 통계적으로 분석 할 수 있습니다. 이 방법은 다양한 데이터 필터링 및 통계 시나리오에 적합합니다. 특히 대규모 데이터 세트를 처리 할 때 코드의 가독성 및 실행 효율을 효과적으로 향상시킬 수 있습니다.