这里很简单的问题,但不确定答案.我可以通过get传递一个布尔变量吗?例如:
http://example.com/foo.php?myVar=true
Run Code Online (Sandbox Code Playgroud)
然后我有
$hopefullyBool = $_GET['myVar'];
Run Code Online (Sandbox Code Playgroud)
是$hopefullyBool布尔值还是字符串?我的假设是它是一个字符串,但有人可以让我知道吗?谢谢
Abr*_*ver 24
所有GET参数都是PHP中的字符串.要获取boolean类型,传递的东西,其值filter_var或FILTER_VALIDATE_BOOLEAN喜欢true或false,然后使用:
$hopefullyBool = filter_var($_GET['myVar'], FILTER_VALIDATE_BOOLEAN);
Run Code Online (Sandbox Code Playgroud)
如果你想传递字符串0,1那么:
http://example.com/foo.php?myVar=0
http://example.com/foo.php?myVar=1
Run Code Online (Sandbox Code Playgroud)
甚至更好:
对于"1","true","on"和"yes",返回TRUE.否则返回FALSE.
$hopefullyBool = (bool)$_GET['myVar'];
Run Code Online (Sandbox Code Playgroud)
如果你想避免 if 语句:
filter_var('true', FILTER_VALIDATE_BOOLEAN);
//bool(true)
filter_var('false', FILTER_VALIDATE_BOOLEAN);
//bool(false)
Run Code Online (Sandbox Code Playgroud)