Created
September 8, 2012 03:41
-
-
Save steve-todorov/3671626 to your computer and use it in GitHub Desktop.
PHP Array key search for matching string.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Search through an array for a matching key. | |
* | |
* Examples: | |
* <code> | |
* $array = array( | |
* "database.name" => "my_db_name", | |
* "database.host" => "myhost.com", | |
* "database.user" => "admin", | |
* "database.pass" => "a secret." | |
* ); | |
* | |
* $search = array_contains_key($array, "database"); | |
* var_dump($search); | |
* | |
* Result: | |
* array (size=4) | |
* 'database.name' => string 'my_db_name' (length=10) | |
* 'database.host' => string 'myhost.com' (length=10) | |
* 'database.user' => string 'admin' (length=5) | |
* 'database.pass' => string 'a secret.' (length=9) | |
* </code> | |
* | |
* @param array $input_array | |
* @param string $search_value | |
* @param bool $case_sensitive | |
* | |
* @return array | |
*/ | |
function array_contains_key( array $input_array, $search_value, $case_sensitive = false) | |
{ | |
if($case_sensitive) | |
$preg_match = '/'.$search_value.'/'; | |
else | |
$preg_match = '/'.$search_value.'/i'; | |
$return_array = array(); | |
$keys = array_keys( $input_array ); | |
foreach ( $keys as $k ) { | |
if ( preg_match($preg_match, $k) ) | |
$return_array[$k] = $input_array[$k]; | |
} | |
return $return_array; | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
👍