PHP true 和 'true' 的区别

2023-11-26

快问。之间有区别吗

$success = true;

and

$success = 'true';

我知道他们不是'==' 彼此都有,但是使用它们有区别吗?

编辑:我发现在查看 $success 是否为 false 时使用 '===' 而不是 '==' 解决了我的问题。我现在的问题是,我应该在下面的情况下使用字符串,并坚持使用“==”吗?

    $User->ProcessLogin();
$loginsuccess = $User->ProcessLogin();

if ($loginsuccess == true) {    
    echo "<big>Success<big><br />";
        echo "<p>We are now redirecting you to the member area.</p>";
        echo "<meta http-equiv='refresh' content='=2;MyAccountNEW.php' />";
}
elseif ($loginsuccess == false) {
        echo "<span class='sorry'><b>Sorry, your account could not be found.</span></b><div id='shopperlogin'> <img class='shopperlogintext' src='images/shopperlogin.png'>

   <br />

    <form method='post' action='loginNEW.php' name='loginform' id='loginform'>
    <fieldset>
        <label for='username'>Username:</label><input type='text' name='username' id='username' /><br />
        <label for='password'>Password:</label><input type='password' name='password' id='password' /><br />
        <input type='submit' name='login' id='login' value='Login' />
    </fieldset>
    </form></div>";
    }

这是课程的一部分..

    function ProcessLogin() {
    if (!empty($_POST['username']) && !empty($_POST['password'])) {
            $username = mysql_real_escape_string($_POST['username']);
            $password = md5(mysql_real_escape_string($_POST['password']));
            $checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'");

                if(mysql_num_rows($checklogin) == 1)
                {
                     $row = mysql_fetch_array($checklogin);
                    $email = $row['EmailAddress'];

                    $_SESSION['Username'] = $username;
                    $_SESSION['EmailAddress'] = $email;
                    $_SESSION['LoggedIn'] = 1;
                    $this->loggedin = true;
                    $success = true;
                }
                else {
                    $success = false;
                }
                return $success;
            }
        }

任何非空字符串的计算结果为 true,空字符串的计算结果为 false。以下脚本可能会给您带来一些启发:

<?php
if('true' == true) {
  echo "'true' == true";
} else {
  echo "'true' != true";
}

echo '<br />';

if('false' == true) {
  echo "'false' == true";
} else {
  echo "'false' != true";
}

echo '<br />';

if('foo' == true) {
  echo "'foo' == true";
} else {
  echo "'foo' != true";
}

echo '<br />';

if('false' == false) {
  echo "'false' == false";
} else {
  echo "'false' != false";
}

echo '<br />';

if('' == true) {
  echo "'' == true";
} else {
  echo "'' != true";
}

echo '<br />';

if('' == false) {
  echo "'' == false";
} else {
  echo "'' != false";
}

?>

这是输出:

'true' == true
'false' == true
'foo' == true
'false' != false
'' != true
'' == false

根据要求,这里还有一些比较 == 和 === 不同值的示例。

<?php
echo "<b>'true' vs. true</b><br />";

if('true' == true) {
  echo "'true' == true<br />";
} else {
  echo "'true' != true<br />";
}

if('true' === true) {
  echo "'true' === true<br />";
} else {
  echo "'true' !== true<br />";
}

echo "<br /><b>'false' vs. true</b><br />";

if('false' == true) {
  echo "'false' == true<br />";
} else {
  echo "'false' != true<br />";
}

if('false' === true) {
  echo "'false' === true<br />";
} else {
  echo "'false' !== true<br />";
}

echo "<br /><b>1 vs. true</b><br />";

if(1 == true) {
  echo "1 == true<br />";
} else {
  echo "1 != true<br />";
}

if(1 === true) {
  echo "1 === true<br />";
} else {
  echo "1 !== true<br />";
}

echo "<br /><b>0 vs. false</b><br />";

if(0 == false) {
  echo "0 == false<br />";
} else {
  echo "0 != false<br />";
}

if(0 === false) {
  echo "0 === false<br />";
} else {
  echo "0 !== false<br />";
}

echo "<br /><b>1 vs. 'true'</b><br />";

if(1 == 'true') {
  echo "1 == 'true'<br />";
} else {
  echo "1 != 'true'<br />";
}

if(1 === 'true') {
  echo "1 === 'true'<br />";
} else {
  echo "1 !== 'true'<br />";
}

echo "<br /><b>empty string '' vs. false</b><br />";

if('' == false) {
  echo "'' == false<br />";
} else {
  echo "'' != false<br />";
}

if('' === true) {
  echo "'' === false<br />";
} else {
  echo "'' !== false<br />";
}

?>

Output:

“真实”与真实

'true' == true
'true' !== true

“假”与真

'false' == true
'false' !== true

1 与真实

1 == true
1 !== true

0 与假

0 == false
0 !== false

1 与“真实”

1 != 'true'
1 !== 'true'

空字符串 '' 与 false

'' == false
'' !== false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP true 和 'true' 的区别 的相关文章

  • 如何将 JSON 文本转换为 PHP 关联数组

    我将以下 JSON 对象存储在文本文件 data txt 中 player black time 0 from 2c to 3d 我使用 php 阅读 问题 有没有简单的方法可以转换 data到 PHP 关联数组 我尝试过使用json de
  • UNIX时间记录时区吗?

    我想问一下UNIX时间 UNIX时间是否记录时区 我将托管从美国芝加哥移至 JST 问题是我的整个 MySQL 数据库都有 UNIX 时间 芝加哥 美国时区 的记录 我有一个 PHP 代码来显示之前的时间 例如 3 天前 昨天等 当我搬到新
  • 如何用PHP进行有向图绘制?

    我正在寻找一种在 PHP 中绘制有向图的方法 如http upload wikimedia org wikipedia commons 0 08 Directed acirclic graph png http upload wikimed
  • 对对象数组进行排序

    我在使用 PHP 手册中的示例时遇到了问题 所以我想在这里问这个 我有一个对象数组 有没有办法根据对象的内容对其进行排序 例如我的数组是 Array 0 gt stdClass Object id gt 123 alias gt mike
  • 如何使用 PHP 更改文件的标题属性

    用户使用我的 PHP 应用程序上传 PDF 文件 我将它们存储在 S3 上 稍后 其他用户会查看这些文件 我会在他们的浏览器中 内联 显示这些文件 问题在于 PDF 的 标题 属性显示在通常显示网站标题的浏览器选项卡中 由于它是由原始上传的
  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • PHP:file_get_contents 与 json_decode 不能一起工作

    使用 file get contents 读取 json 文件后遇到问题 当我运行这段代码时 它工作正常
  • 验证数据库匹配中的 $_GET id 是否足够安全?

    我的网站上有 2 个页面 一个是 index php 索引页面列出了数据库中存在的所有帖子 另一个页面是 post php 当单击索引页面上的特定帖子时 帖子页面显示单个帖子 现在我用来列出 index php 上所有帖子的代码是 post
  • 登录代码示例已通过 SQL 注入被黑客攻击,尽管 mysql_real_escape_string...

    我使用 CodeIgniter 但在黑客攻击方面遇到了麻烦 是否可以对以下登录代码进行 SQL 注入 function process login username mysql real escape string this gt inpu
  • 执行数组内的函数

    是否可以从数组内部执行匿名函数 也在数组内部定义 return execute function logic 或者我应该在外面定义它然后再调用它 从技术上讲 您可以将该函数括在括号中并像这样调用它 return function retur
  • 在php中对带有特殊字符的多维数组进行排序

    我有一个多维数组 我按字母顺序排序 但问题是 带有丹麦语特殊字符 它们应该按该顺序排序 但不会按该顺序返回 这是我的数组 部分已删除 Array 0 gt Array Name gt John 1 gt Array Name gt Pate
  • Yii 框架:控制器/操作 url 和参数

    在我的申请中 我有ApiController with actionUsers 所以在 YII 中路径变成api users 现在为了获取某些用户信息 我使用以下路径api users id 10其中 10 是用户 ID id路径的一部分基
  • 为什么 mysqli num_rows 总是返回 0?

    我在使用 mysqli 获取要返回的行数时遇到了问题 尽管确实有一些结果 但我每次都只是得到 0 if stmt mysqli gt prepare SELECT id title visible parent id FROM conten
  • 使用 PHP 5.3 ?: 运算符

    有了这个测试页 page int GET page 1 echo page 我不明白页面未定义时得到的输出 Request Result page 2 2 page 3 3 page 1 error Undefined index page
  • php包含来自另一个目录的文件

    这是一个结构示例 main css style css include article1 php article2 php header php index php 在我的 header php 中 我有以下 css 代码 例如 在我的 i
  • 从数据库生成 XML 时出现 PHP 编码错误 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试获取一个简单的 PHP 服
  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • PHP邮件功能有时可以工作

    我正在编写一个脚本 需要通过PHP邮件功能发送电子邮件 如下所示 它在向 gmail 帐户发送电子邮件时有效 但在我的域中的帐户却无效 我们正在运行 Exchange 服务器 截至目前 电子邮件是从 www server 发送的 有谁知道
  • php 崩溃后 mysql 表被锁定

    我有一个 MySQL DB 和一个 innoDB 表 我有一个 php 页面 用于连接 锁定表 进行一些更新 然后解锁表 PHP 页面通过 wamp 与 apache 一起提供 php页面将文件上传到数据库 我决定通过上传一个大小大于分配给
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7

随机推荐

  • SQL Server,将命名实例转换为默认实例?

    我需要将 SQL Server 2005 的命名实例转换为默认实例 有没有办法在不重新安装的情况下做到这一点 问题是 六分之二的开发人员安装了命名实例 因此 对于我们其他 4 个人来说 它变成了一个痛苦的改变连接字符串 我正在寻找阻力最小的
  • 正则表达式删除开头的数字和 -

    我正在处理字符串列表 但我想更改字符串 以便它们对用户来说看起来不难看 一个示例列表是 2736162 Magazines 23 2311 Numbers 1 38122 Faces 5 231123 Newspapers 31 31235
  • Javascript和JQuery,如何验证select中是否存在选项元素?

    使用 JQuery 我尝试根据查询字符串在 select 元素中设置一个选项 这个问题类似于this 但是我仍然需要知道如何在执行选择之前检查元素是否存在 否则页面将不断刷新自身 请参阅下面的退出条件 获取查询字符串是使用函数 getPar
  • 当对象的属性被设置时调用函数

    我真的不知道如何解释这一点 但我会向您展示代码并告诉您我想要实现的目标 假设我制作了一个快速对象 var test 然后我为其设置一个属性 我insist在语法上 它不能使用任何函数作为设置器 test hello world 很简单 嗯
  • 数组下标的类型为“char”[-Wchar-subscripts]

    我正在尝试在辅助函数下面的帮助下删除前导 尾随空白字符 编译时我收到警告 数组下标的类型为 char Wchar subscripts 如何摆脱这个消息 char removeSpace char str char end Trim lea
  • jax-ws ri 2.2.1 没有为 amazon ecs wsdl 文件生成枚举

    我正在尝试为以下亚马逊 wsdl 生成工件 http webservices amazon com AWSECommerceService AWSECommerceService wsdl 使用以下 ant 任务
  • 当进程之间进行通信时,队列相对于管道有什么优势?

    使用 2 有什么优点 如果有的话 Queues over a Pipe进程之间进行通信 我打算使用multiprocessing蟒蛇模块 最大的胜利是队列是进程和线程安全的 管道则不然 如果两个不同的进程尝试从管道的同一端读取或写入 就会发
  • Angular2 - APP_BASE_HREF 与 HashLocationStrategy

    我有一个角度应用程序使用带有 HashLocationStrategy 的路由 我需要在主 html 文件中设置不同的值并在路由中设置不同的值 我尝试了这个解决方案 NgModule imports BrowserModule FormsM
  • 如何在 PHP 中将文件的内容分配给变量

    我有一个包含 HTML 标记的文档文件 我想将整个文件的内容分配给 PHP 变量 我有这行代码 body include email template php 当我做一个var dump I get string 1 是否可以将文件的内容分
  • 为什么 Codan 找不到 size_t

    我刚刚开始使用 Eclipse Indigo 来自 Galileo 每次使用 size t 时 我都会在排水沟中发现红色的小虫子 代码编译没有问题 但我怀疑我必须显式添加包含目录的路径 我已经在那里找到了通常的嫌疑人 我正在使用 Gnu 工
  • MySQL/PHP 错误:[2002] 通常只允许每个套接字地址(协议/网络地址/端口)使用一次

    我已经在 stackoverflow 上找不到这个问题的解决方案 大多数其他相关主题都与 Apache 未首先启动并出现此错误有关 我的问题是 在 apache 运行后 连接到我们的 php mysql 网站的一些用户将收到此错误 PHP
  • date.setHours() 不起作用

    我正在尝试使用 javascript 从给定的日期时间字符串中减去小时 我的代码是这样的 var cbTime new Date cbTime selectedTime setHours 5 5 Where selectedTime是给定的
  • 是否可以查询到不符合指定条件的数据?

    我正在为我的列表视图 android 获取用户列表 我使用 firebaselistadapter 来备份我的列表视图 我想显示除我的之外的用户数据 就像一个sql查询从用户表中选择一些东西 其中id userid 我想获取所有其他用户的数
  • 如何在 EF 6.1 CodeFirst 中的视图上添加导航属性

    让我们举一个例子来解释我的问题 MyTable1 id myTable2Id MyTable2 id MyView1 id myTable2Id 案例中存在MyView1 来自MyTable1的数据 现在我想从视图中的 EF6 1 代码优先
  • ember-cli 支持每个助手中的 Handlebars @vars(即 @index、@key、@first、@last)

    每当我有一个在每个助手内部使用 vars 变量 即 index key first last 的 Handlebars 模板时 我都会在 ember cli 中收到编译错误 看http handlebarsjs com iteration有
  • Visual Studio 2012 测试运行程序如何应用线程?

    每个包含测试的类是否在它自己的线程中运行 或者每个单独的测试都在它自己的线程中运行吗 如果每个包含测试的类都有自己的线程 那么它们是否同时运行 即 A 类测试是否会与 B 类测试同时运行 或者 A 类的测试会先运行 每个测试都在自己的线程上
  • Jquery 如果复选框被选中 Bootstrap 开关

    我使用 Bootstrap 开关插件使我的复选框看起来像开关按钮 我需要检查该复选框是否在 jQuery 中被选中 我在谷歌上搜索了很多 尝试了一些建议和代码片段 但没有成功 我认为我发现的最干净的代码是 checkbox attr che
  • Rust 中通用结构的向量

    我正在 Rust 中创建一个实体组件系统 并且我希望能够存储Vec每个不同的组件Component type pub trait Component struct ComponentList
  • 向折线图添加点和值...如何像线一样为点着色?

    我从多行示例开始http bl ocks org mbostock 3884955我将其扩展以显示沿线的点 但我无法为圆圈提供与线相同的颜色 我是 d3 js 的新手 我真的需要建议 这里是示例页面 http www danielepenn
  • PHP true 和 'true' 的区别

    快问 之间有区别吗 success true and success true 我知道他们不是 彼此都有 但是使用它们有区别吗 编辑 我发现在查看 success 是否为 false 时使用 而不是 解决了我的问题 我现在的问题是 我应该在