我想创建一个函数,如果它传递的参数不是有效的数组键,则不会创建错误,并成功检查参数是否设置为数组中的键。
static function IsAwesome($name) {
return isset(self::$_awesomeThings[$name]);
}
当有人将对象作为$ name传递时,这会创建一条可爱的消息:
Warning: Illegal offset type in isset or empty in ...
在不排除可能有效的密钥(例如true
)的情况下,避免此行为的最简单方法是什么?假设现有的无法更改的代码已经依赖于此行为。
答案 0 :(得分:1)
也许你需要这样的东西:
static function IsAwesome($name) {
return array_key_exists((string)$name, self::$_awesomeThings);
}