現在の位置: ホーム> 最新記事一覧> array_filter()を使用して、ブール型タイプのアイテムのみを保存する

array_filter()を使用して、ブール型タイプのアイテムのみを保存する

M66 2025-06-04

PHPでは、 array_filter()関数を使用して、配列内の要素をフィルタリングします。それを通して、カスタム条件に基づいてアレイ内の特定の要素を保存できます。デフォルトでは、 array_filter()は0nullfalse 、空の文字列など、arrayのarrayをArray_filter()などの配列にfalseの要素を削除します。Array_filter ()は、 falseブール値のアイテムを自動的に削除しますが、処理中にどの値をより正確に制御する必要がある場合は、この要件を介してこの要件を達成できます。

array_filter()関数の基本的な使用

array_filter()関数は、2つのパラメーターを受け入れます。

  • 配列:フィルタリングする元の配列。

  • コールバック関数(オプション):配列内の要素を保存するかどうかを決定するカスタム関数。コールバック関数が提供されていない場合、 array_filter()はすべての要素をboolean値のfalseで削除します。

例1:基本的な使用法

<?php
$array = [0, 1, 2, 3, 4, 5, null, false, "0", "PHP"];

$result = array_filter($array); // デフォルトの動作,値を削除します false 要素
print_r($result);
?>

上記のコードでは、 array_filter()は0nullfalse 、および空の文字列をfalse値で自動的に削除し、返された結果は次のとおりです。

 Array
(
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [8] => PHP
)

カスタム条件:ブール値が真の要素のみが保存されます

時には、フィルタリング条件をより注意深く制御する必要があります。たとえば、値真のブールアレイアイテムのみが保存されます。これを達成するために、配列アイテムがブールの真のかどうかを確認するために、特にコールバック関数を渡すことができます。

例2:コールバック関数を使用して、ブール値のある要素を保存する

<?php
$array = [0, 1, 2, 3, 4, 5, null, false, "0", true, "PHP"];

$result = array_filter($array, function($value) {
    return $value === true; // ブール値のみです true 要素
});

print_r($result);
?>

この例では、コールバック関数を使用して、各要素がブール値厳密に等しいかどうかを確認します。このようにして、ブール値が真の要素のみが保存されます。出力の結果は次のとおりです。

 Array
(
    [10] => 1
)

URLドメイン名を置き換えます

ArrayにURLがある場合、URLに置き換える必要があるドメイン名がM66.netである場合、 array_filter()関数にarray_map()を組み合わせるか、コールバック関数で処理できます。

例3:URLドメイン名をM66.netに置き換えます

<?php
$array = [
    "https://example.com/page1",
    "http://example.com/page2",
    "https://m66.net/page3",
    "http://m66.net/page4"
];

// 使用 array_map() コールバック関数の交換と組み合わせて URL ドメイン名
$array = array_map(function($url) {
    return preg_replace("/https?:\/\/[^\/]+/", "https://m66.net", $url); // ドメイン名を置き換えます
}, $array);

print_r($array);
?>

このコードでは、 array_map()を使用して配列を反復し、URLのドメイン名を正規表現に置き換えます。最終出力は次のとおりです。