-
-
Save DevotionGeo/757bc261b73d55507d2f to your computer and use it in GitHub Desktop.
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 | |
/** | |
* Return the value for a key in an array or a property in an object. | |
* Typical usage: | |
* | |
* $object->foo = 'Bar'; | |
* echo get_key($object, 'foo'); | |
* | |
* $array['baz'] = 'Bat'; | |
* echo get_key($array, 'baz'); | |
* | |
* @param mixed $haystack | |
* @param string $needle | |
* @param mixed $default_value The value if key could not be found. | |
* @return mixed | |
*/ | |
function get_key ($haystack, $needle, $default_value = '') | |
{ | |
if (is_array($haystack)) { | |
// We have an array. Find the key. | |
return isset($haystack[$needle]) ? $haystack[$needle] : $default_value; | |
} | |
else { | |
// If it's not an array it must be an object | |
return isset($haystack->$needle) ? $haystack->$needle : $default_value; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment