Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save amanaplan/a7fba8c17472327f103b4416bebc6066 to your computer and use it in GitHub Desktop.
Save amanaplan/a7fba8c17472327f103b4416bebc6066 to your computer and use it in GitHub Desktop.
PHP Array key search for matching string.
<?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