現在の位置: ホーム> 最新記事一覧> array_filter()を組み合わせて、複雑なフィルター統計を実行します

array_filter()を組み合わせて、複雑なフィルター統計を実行します

M66 2025-05-16

PHPでは、多くの場合、データをフィルタリングしてカウントする必要があります。 array_filter()array_count_values()は、2つの非常に便利な関数です。 array_filter()は、条件に基づいてarrayで要素をフィルタリングでき、 array_count_values()はarrayの値をカウントして結果を返すことができます。これら2つの機能を組み合わせることで、アレイの複雑なスクリーニングを効率的に実行し、これに基づいて統計分析を実施できます。

1。複雑なフィルタリングにarray_filter()を使用します

array_filter()関数は2つのパラメーターを受け入れます。1つ目は配列で、2つ目はコールバック関数です。コールバック関数は、フィルタリング条件を定義するために使用され、条件を満たす要素のみが保持されます。

たとえば、複数の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は配列に1回しか表示されないため、結果の各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()を組み合わせることにより、配列データを柔軟にフィルタリングおよび統計的に分析できます。この方法は、特にコードの読みやすさと実行効率を効果的に改善できる大規模なデータセットを処理する場合、さまざまなデータフィルタリングと統計シナリオに適しています。