PHP에서는 종종 데이터를 필터링하고 계산해야합니다. Array_Filter () 및 Array_Count_Values () 는 두 가지 매우 유용한 기능입니다. Array_Filter ()는 조건에 따라 배열에서 요소를 필터링 할 수 있지만 Array_Count_Values ()는 배열에서 값을 계산하고 결과를 반환 할 수 있습니다. 이 두 기능을 결합하여 복잡한 배열 스크리닝을 효율적으로 수행하고이를 기반으로 통계 분석을 수행 할 수 있습니다.
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을 필터링하는 데 사용됩니다.
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입니다.
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 ()를 결합하여 배열 데이터를 유연하게 필터링하고 통계적으로 분석 할 수 있습니다. 이 방법은 다양한 데이터 필터링 및 통계 시나리오에 적합합니다. 특히 대규모 데이터 세트를 처리 할 때 코드의 가독성 및 실행 효율을 효과적으로 향상시킬 수 있습니다.
관련 태그:
array_filter