Is it possible to use a regular expression with the php function array_key_exists()
?
For example:
$exp = "my regex";
array_key_exists($exp, $array);
Thank you!
Is it possible to use a regular expression with the php function array_key_exists()
?
For example:
$exp = "my regex";
array_key_exists($exp, $array);
Thank you!
there is no such function out of the box. you have to implement it with yourself.
No, I'm afraid not. You can iterate the array keys and perform matches on those:
$keys = array_keys($array);
foreach ($keys as $key)
if (preg_match($exp, $key) == 1)
return $array[$key];
You can extract the array keys using array_keys() and then use preg_grep() on that array:
function preg_array_key_exists($pattern, $array) {
$keys = array_keys($array);
return (int) preg_grep($pattern,$keys);
}
.
$arr = array("abc"=>12,"dec"=>34,"fgh"=>56);
var_dump(preg_array_key_exists('/c$/',$arr)); // check if a key ends in 'c'.
var_dump(preg_array_key_exists('/x$/',$arr)); // check if a key ends in 'x'.
function preg_array_key_exists($pattern, $array) {
// extract the keys.
$keys = array_keys($array);
// convert the preg_grep() returned array to int..and return.
// the ret value of preg_grep() will be an array of values
// that match the pattern.
return (int) preg_grep($pattern,$keys);
}
Output:
$php a.php
int(1)
int(0)