【发布时间】:2012-08-24 21:37:15
【问题描述】:
我有以下功能可以安全地获取 cookie:
public static function get_cookie($parameter, $default)
{
return isset($_COOKIE[$parameter]) ? $_COOKIE[$parameter] : $default;
}
当我尝试读取 false 然后在三元运算符中使用它时,我看到该值被视为字符串(转换为 true)。
我想将一个类型传递给这个函数并转换值,但不知道如何。
更新
正如 Niko 指出的,将 'false' 转换为布尔值不起作用:http://www.php.net/manual/en/language.types.boolean.php#language.types.boolean.casting
我想,我必须始终将字符串存储在 cookie 中。 (例如,对于我来说,“是”和“否”而不是“假”和“真”)。
【问题讨论】:
-
你确定你没有将它作为字符串传递吗?
-
先用
gettypephp.net/manual/en/function.gettype.php测试参数的类型 -
@John Conde Eh...通过什么?对不起,我很笨。
-
你能告诉我们你是如何调用函数和传递参数的吗?它应该类似于 get_cookie(false, ....
-
@peacemaker 我已经用 gettype 测试了结果,它是字符串 'false' 和 $cookie 吗? 'a' : 'b' 返回 a。
标签: php casting type-conversion