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' ] ];
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); });
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', ] ]
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!