Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich ein mehrdimensionales Array mithilfe des partiellen String-Matchings in PHP filtern?

Wie kann ich ein mehrdimensionales Array mithilfe des partiellen String-Matchings in PHP filtern?

Susan Sarandon
Freigeben: 2024-12-02 02:36:09
Original
149 Leute haben es durchsucht

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

Filtern mehrdimensionaler Arrays basierend auf einer teilweisen Übereinstimmung des Suchwerts

In bestimmten Szenarien wird es notwendig, in mehrdimensionalen Arrays gespeicherte Daten basierend auf zu filtern eine teilweise Übereinstimmung mit einem angegebenen Suchwert.

Angenommen, wir haben ein Array, das wie folgt strukturiert ist folgt:

$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'
    ]
];
Nach dem Login kopieren

Nehmen wir an, wir möchten nach einer bestimmten Nadel suchen, beispielsweise nach „Brot“. Um das Array zu filtern und Elemente abzurufen, die die teilweise Übereinstimmung enthalten, können wir die Funktion array_filter nutzen.

$search_text = 'Bread';

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

Die Funktion array_filter akzeptiert zwei Parameter: das Eingabearray und eine Rückruffunktion. Die Rückruffunktion ist für die Bewertung verantwortlich, ob jedes Element beibehalten oder aus dem Array entfernt werden soll. In unserem Fall prüft die Callback-Funktion, ob das Feld „text“ des Elements den angegebenen Suchbegriff enthält. Wenn ja, wird „true“ zurückgegeben, was bedeutet, dass das Element beibehalten werden soll.

Bei der Ausführung enthält das filtered_array die folgenden Elemente:

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

Dieser Ansatz filtert effektiv das mehrdimensionale Array und gibt zurück Nur die Elemente, die die Teilübereinstimmungsbedingung erfüllen.

Das obige ist der detaillierte Inhalt vonWie kann ich ein mehrdimensionales Array mithilfe des partiellen String-Matchings in PHP filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage