I'm looking for a function where given this 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..
I want to search for the needle
"Bread"
and get the following result
[1] => array( ['text'] =>'I like Apples and Bread' ['id'] =>'283923' ) [2] => array( ['text'] =>'I like Apples, Bread, and Cheese' ['id'] =>'3384823'
Use array_filter
. You can provide a callback which decides which elements remain in the array and which should be removed. (A return value of false
from the callback indicates that the given element should be removed.) Something like this:
$search_text = 'Bread'; array_filter($array, function($el) use ($search_text) { return ( strpos($el['text'], $search_text) !== false ); });
For more information:
array_filter
strpos
return valuesIf you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With