Nor*_*man 3 php url boolean query-string
如何在查询字符串中发送true或false值然后在php中使用它?我正在尝试如下操作,但即使两者都设置为false,它也会让我真实.我将从htaccess文件中获取这些值.
<?php
$var = $_GET['a'];
$bar = $_GET['b'];
if ($var && $bar)
{
echo "True";
}else
{
echo "False";
}
echo '<a href=?a=false&b=false>Check</a>';
?>
Run Code Online (Sandbox Code Playgroud)
他们都评估为True,因为你不能发送一个合适的布尔值true或false通过查询字符串.两个字符串"true"并"false"在PHP中评估为TRUE.要么:
if ($var == "true" && $bar == "true") {
Run Code Online (Sandbox Code Playgroud)
或发送0和1替代"true"以及"false"从数据源(我不是你的.htaccess在这里如何适应完全清楚-我假设它是从一个表单字段变量按摩,但它的最终无关)
有关更多信息,请查看这个非常庞大的PHP真值值表.PHP的类型强制 - 也就是说,它将任意变量转换为其他类型变量的方法 - 很难预测并根据自己的逻辑运行.
也就是说,问题的查询字符串部分本质上不是PHP问题 - 没有规范的方式来通信GET或POST参数通信布尔值.如果你看,你会注意到每个网站都以自己的方式处理它 - 一些使用"true",另一些1,还有其他人使用TRUE.
最后一个选择 - JSON.虽然在您的情况下不太可能有所帮助,但我首选的与服务器交换数据的方法是将所有数据编码为单个JSON字符串.这有一些好处,例如让我对封装在我的JSON对象中的变量类型进行细粒度控制,但它的缺点是不能使用vanilla HTML表单.不过,如果您正在使用AJAX-ey Web应用程序,那就太棒了.
| 归档时间: |
|
| 查看次数: |
8712 次 |
| 最近记录: |