Heim >Backend-Entwicklung >PHP-Tutorial >Wie filtere ich ein mehrdimensionales Array mithilfe des partiellen String-Matchings in PHP effizient?
Multidimensionales Array basierend auf teilweiser Übereinstimmung des Suchwerts filtern
Das Filtern mehrdimensionaler Arrays kann oft eine Herausforderung darstellen, insbesondere bei der Suche nach teilweisen Übereinstimmungen. In diesem Artikel wird eine Methode zum effizienten Filtern eines Arrays mithilfe von array_filter vorgestellt, um Elemente mit Text zu finden, der teilweise mit einem bestimmten Suchwert übereinstimmt.
Betrachten Sie das folgende Beispiel:
$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' ] ];
Lassen Sie uns dieses Array filtern die Nadel „Brot“:
$search_text = 'Bread'; $filtered_array = array_filter($array, function($el) use ($search_text) { return (strpos($el['text'], $search_text) !== false); });
Das Ergebnis wird folgendes sein:
[ [ 'text' => 'I like Apples and Bread', 'id' => '283923' ], [ 'text' => 'I like Apples, Bread, and Cheese', 'id' => '3384823' ] ];
Dies Die Lösung verwendet array_filter, um eine Rückruffunktion zu übergeben, die mithilfe von strpos.
den Textwert jedes Elements auf eine teilweise Übereinstimmung mit $search_text überprüftDas obige ist der detaillierte Inhalt vonWie filtere ich ein mehrdimensionales Array mithilfe des partiellen String-Matchings in PHP effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!