通过PHP GET传递布尔值

Sam*_*mer 8 php boolean get

这里很简单的问题,但不确定答案.我可以通过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_varFILTER_VALIDATE_BOOLEAN喜欢truefalse,然后使用:

$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)


Rom*_*man 5

如果你想避免 if 语句:

filter_var('true', FILTER_VALIDATE_BOOLEAN);  
//bool(true)

filter_var('false', FILTER_VALIDATE_BOOLEAN); 
//bool(false)
Run Code Online (Sandbox Code Playgroud)