ホームページ >バックエンド開発 >PHPチュートリアル >PHP で部分文字列一致を使用して多次元配列をフィルタリングするにはどうすればよいですか?

PHP で部分文字列一致を使用して多次元配列をフィルタリングするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-02 02:36:09132ブラウズ

How Can I Filter a Multidimensional Array Using Partial String Matching in PHP?

検索値の部分一致に基づく多次元配列のフィルタリング

特定のシナリオでは、次の条件に基づいて多次元配列に格納されたデータをフィルタリングする必要があります。指定された検索値の部分一致。

次のような構造の配列があるとします。

$array = [
    [
        'text' => 'I like Apples',
        'id'   => '102923'
    ],
    [
        'text' => 'I like Apples and Bread',
        'id'   => '283923'
    ],
    [
        'text' => 'I like Apples, Bread, and Cheese',
        'id'   => '3384823'
    ],
    [
        'text' => 'I like Green Eggs and Ham',
        'id'   => '4473873'
    ]
];

「パン」などの特定の針を検索するとします。配列をフィルターし、部分一致を含む要素を取得するには、array_filter 関数を利用できます。

$search_text = 'Bread';

$filtered_array = array_filter($array, function($element) use ($search_text) {
    return (strpos($element['text'], $search_text) !== false);
});

array_filter 関数は、入力配列とコールバック関数の 2 つのパラメーターを受け入れます。コールバック関数は、各要素を配列に保持するか、配列から削除するかを評価します。この例では、コールバック関数は、要素の「テキスト」フィールドに指定された検索語が含まれているかどうかをチェックします。存在する場合、要素を保持する必要があることを示す true を返します。

実行すると、filtered_array には次の要素が含まれます:

[
    [
        'text' => 'I like Apples and Bread',
        'id'   => '283923'
    ],
    [
        'text' => 'I like Apples, Bread, and Cheese',
        'id'   => '3384823',
    ]
]

このアプローチは、多次元配列を効果的にフィルタリングし、戻り値を返します。部分一致条件を満たす要素のみ。

以上がPHP で部分文字列一致を使用して多次元配列をフィルタリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。