php 获取变量布尔值,php – 如何从查询字符串中获取布尔值?

如何在查询字符串中发送true或false值然后在php中使用它?我正在尝试如下操作,但即使两者都设置为false,它也会让我真实.我将从htaccess文件中获取这些值.

$var = $_GET['a'];

$bar = $_GET['b'];

if ($var && $bar)

{

echo "True";

}else

{

echo "False";

}

echo 'Check';

?>

解决方法:

他们都评估为True,因为你不能通过查询字符串发送一个正确的布尔值true或false.在PHP中,字符串“true”和“false”都评估为TRUE.要么:

if ($var == "true" && $bar == "true") {

或者从你的数据源发送0和1而不是“true”和“false”(我不完全清楚你的.htaccess如何适应这里 – 我假设它正在从表单字段中按摩变量,但它最终无关紧要.)

也就是说,问题的查询字符串部分本质上不是PHP问题 – 没有通过GET或POST参数来传达布尔值的规范方法.如果你看,你会发现每个网站都以自己的方式处理它 – 有些使用“true”,有些则使用1,而其他网站使用TRUE.

最后一个选择 – JSON.虽然在您的情况下不太可能有所帮助,但我与服务器交换数据的首选方法是将所有数据编码为单个JSON字符串.这有一些好处,例如让我对封装在我的JSON对象中的变量类型进行细粒度控制,但它的缺点是不能使用vanilla HTML表单.不过,如果您正在使用AJAX-ey Web应用程序,那就太棒了.

标签:php,boolean,url,query-string

来源: https://codeday.me/bug/20190729/1571503.html