I have an array like
$arr = array(0 => array(id=>1,name=>"Apple"),
1 => array(id=>2,name=>"Orange"),
2 => array(id=>3,name=>"Grape")
);
I have written the code for searching the multidimensional array.
Here is it
function search($array, $key, $value)
{
$results = array();
search_r($array, $key, $value, $results);
return $results;
}
function search_r($array, $key, $value, &$results)
{
if (!is_array($array)) {
return;
}
if (isset($array[$key]) && $array[$key] == $value) {
$results[] = $array;
}
foreach ($array as $subarray) {
search_r($subarray, $key, $value, $results);
}
}
But it works only for exactly matching keywords. What I need is, If I search for 'Gra' in this array. The function should return
array(0 => array(id=>1,name=>"Grape")
);
This seems to be something like mysql %LIKE% condition.How can this be done in PHP arrays ?