Skip to content

Instantly share code, notes, and snippets.

@dejurin
Last active January 6, 2018 14:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dejurin/681f7dd3fa1c2316ad1ae0496f6d3eb3 to your computer and use it in GitHub Desktop.
Save dejurin/681f7dd3fa1c2316ad1ae0496f6d3eb3 to your computer and use it in GitHub Desktop.
How to search in PHP Array, similar to MySQL Like %var% search
<?php
// Example from https://stackoverflow.com/questions/36081298/how-to-search-in-php-array-similar-to-mysql-like-var-search?rq=1
function preg_grep_keys_values($pattern, $input, $flags = 0) {
return array_merge(array_intersect_key($input, array_flip(preg_grep($pattern, array_keys($input), $flags))), preg_grep($pattern, $input, $flags));
}
$a = array(
'mark@test.by.com'=> "Mark Mian lv",
'jhon@test.lv.com'=> "John jack lv",
'logon@test.en.com'=> "Bob Logon",
'Stela@test.es.com'=> "Stela Josh",
'json@test.es.com'=> "Json Josh",
'bobby@test.lv.com'=> "Bob Mark"
);
$r = preg_grep_keys_values('~lv~i', $a);
print_r($r);
/*
Array
(
[jhon@test.lv.com] => John jack lv
[bobby@test.lv.com] => Bob Mark
[mark@test.by.com] => Mark Mian lv
)
*/
// Demo: https://ideone.com/WO1r4m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment