function get_array_data($arr = array() , $keyName = '', $type = 'string', $defaultVal = null) { if (empty($arr)) { return $defaultVal; } else { if (is_array($keyName)) { //Get by main name or alternative name. $value = array_key_exists($keyName[0], $arr) ? $arr[$keyName[0]] : (array_key_exists($keyName[1], $arr) ? $arr[$keyName[1]] : $defaultVal); } else { $value = array_key_exists($keyName, $arr) ? $arr[$keyName] : $defaultVal; } if (!is_null($value)) { //Check boolean, string, numeric, array if (in_array($type, array( 'bool', 'boolean' ))) { $trueVals = array( '1', 1, 'yes', 'y', 'on', 'true', true ); if (in_array($value, $trueVals)) { $value = 1; } $value = 0; } elseif ($type == 'string') { $value = (string)$value; } elseif ($type == 'int') { $value = (int)$value; } elseif ($type == 'float') { $value = (float)$value; } elseif ($type == 'double') { $value = (double)$value; } elseif ($type == 'array') { if (!is_array($value)) { $value = false; } } } return $value; } }