Функция php array_key_exists и регулярные выражения

Можно ли использовать регулярное выражение с помощью функции php array_key_exists() ?

Например:

 $exp = "my regex"; array_key_exists($exp, $array); 

Спасибо!

Вы можете извлечь ключи массива с помощью array_keys (), а затем использовать preg_grep () в этом массиве:

 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); } 

Вывод:

 $php a.php int(1) int(0) 

Боюсь, что нет. Вы можете перебирать ключи массива и выполнять совпадения с ними:

 $keys = array_keys($array); foreach ($keys as $key) if (preg_match($exp, $key) == 1) return $array[$key];