Skip to content

Instantly share code, notes, and snippets.

@steve-todorov
Created September 8, 2012 03:41
Show Gist options
  • Save steve-todorov/3671626 to your computer and use it in GitHub Desktop.
Save steve-todorov/3671626 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;
}
?>
@BassemN
Copy link

BassemN commented Jan 22, 2018

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment