Filtern mehrdimensionaler Arrays basierend auf teilweiser Übereinstimmung
In dieser Programmieraufgabe stellen wir Ihnen ein Szenario vor, in dem Sie eine Funktion zum Filtern von a benötigen mehrdimensionales Array basierend auf einer teilweisen Übereinstimmung eines Suchwerts. Betrachten Sie das gegebene Array:
array( [0] => array( ['text'] =>'I like Apples' ['id'] =>'102923' ) [1] => array( ['text'] =>'I like Apples and Bread' ['id'] =>'283923' ) [2] => array( ['text'] =>'I like Apples, Bread, and Cheese' ['id'] =>'3384823' ) [3] => array( ['text'] =>'I like Green Eggs and Ham' ['id'] =>'4473873' ) etc..
Wir suchen nach der Nadel „Brot“ im Array und erhalten das folgende Ergebnis:
[1] => array( ['text'] =>'I like Apples and Bread' ['id'] =>'283923' ) [2] => array( ['text'] =>'I like Apples, Bread, and Cheese' ['id'] =>'3384823'
Um dies zu erreichen, nutzen wir den array_filter Funktion, die es uns ermöglicht, einen Rückruf zu definieren, der basierend auf einer bestimmten Bedingung bestimmt, welche Elemente im Array beibehalten werden sollen. In diesem Szenario geben wir „true“ zurück, wenn das Feld „text“ den Suchtext enthält, was angibt, dass das Element beibehalten werden soll. Ein Rückgabewert von false würde das Element entfernen.
Die Implementierung sieht folgendermaßen aus:
$search_text = 'Bread'; $filtered_array = array_filter($array, function($el) use ($search_text) { return ( strpos($el['text'], $search_text) !== false ); });
Durch die Implementierung dieser Methode filtern Sie effektiv das mehrdimensionale Array und geben nur die Elemente zurück, die teilweise übereinstimmen der von Ihnen angegebene Suchwert. Weitere Anleitungen finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonWie filtere ich ein mehrdimensionales Array in PHP mit partiellem String-Matching?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!