gpt4 book ai didi

php - 如何从查询字符串中获取 boolean 值?

转载 作者:可可西里 更新时间:2023-11-01 00:23:24 25 4
gpt4 key购买 nike

如何在查询字符串中发送真值或假值,然后在 php 中使用它?我正在尝试执行以下操作,但即使两者都设置为 false,它也会给我 true。我将从 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>';
?>

最佳答案

它们的计算结果都为 True,因为您无法通过查询字符串发送正确的 boolean 值 truefalse。字符串 "true""false" 在 PHP 中的计算结果都是 TRUE。要么:

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

或从您的数据源发送 01 而不是 "true""false" (我不完全清楚你的 .htaccess 如何适应这里 - 我假设它正在处理来自表单字段的变量,但它最终是无关紧要的。)

欲了解更多信息,check out this incredibly massive table of PHP truth values. PHP 的类型转换——也就是说,它将任意变量转换为其他类型变量的方法——很难预测,并且按照自己的逻辑运行。

也就是说,问题的查询字符串部分本质上不是 PHP 问题 - 没有通过 GETPOST 参数传递 boolean 值的规范方式。如果您仔细观察,您会发现每个站点都以自己的方式处理它 - 一些使用 "true",另一些使用 1,还有一些使用 TRUE.

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

关于php - 如何从查询字符串中获取 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12242002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com