三个等于号===和两个等于号==的区别

两个等于号是只判断值是否相等;

三个等于号是即判断值是否相等,又判断类型是否一样;

举例:

$str="1";

$num=1;

if($str==$num){

print_r(‘true‘);

}else{

print_r(‘false‘);

}

if($str===$num){

print_r(‘true‘);

}else{

print_r(‘false‘);

}

程序的运行结果是:

truefalse

因为在执行第一个if时,php将$str字符串类型转换成数值型,与$num比较;

在执行第二个if时,虽然比较了值是相等,可以他们的类型不相等,所以会返回false;

时间: 2024-10-13 02:57:50

三个等于号===和两个等于号==的区别的相关文章

php 等于不等于 一个感叹号两个等于号

$a == $b 等于 TRUE,如果 $a 等于 $b. $a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同.(PHP 4 引进) $a != $b 不等 TRUE,如果 $a 不等于 $b. $a <> $b 不等 TRUE,如果 $a 不等于 $b. $a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同.(PHP 4 引进) $a < $b 小与 TRUE,如果 $a 严格小于 $b. $a > $b 大于 TRUE

相加等于100的两个数

大致题意:有一个整数数组,找出其中所有相加等于100的两个数. 方法一:用两个for循环. 时间复杂度为o(n^2) 方法二:先排序 将最小的与最大的相加 若和小于100,则将最小的去掉 若和等于100,则把两个数输出 若和大于100,则把最大的去掉 时间复杂度为o(n*logn)+o(n)=o(n*logn) N:当有多个相同的数字时,不知道怎么弄 不知道有没有更好的方法.!!

打印出所有的&quot;水仙花数&quot;,所谓&quot;水仙花数&quot;是指一个三位数,其各位数字立方和等于该数本身。

package com.mumu.ready; public class Daffodils { // 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. // 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. public static void main(String[] args) { for (int i = 100; i < 1000; i++) { in

完成一个登陆页面。(用户名:F11;密码:123456)。要求用户输入用户 名和密码,验证是否等于正确值。如果等于告知登陆成功,程序结束;否则告 知用户名密码有误。用户三次输入不正确,告知登陆失败,程序结束 。

#include <stdio.h>#include <string.h> /*完成一个登陆页面.(用户名:F11:密码:123456).要求用户输入用户名和密码,验证是否等于正确值.如果等于告知登陆成功,程序结束:否则告知用户名密码有误.用户三次输入不正确,告知登陆失败,程序结束 .*/ void main(){ char username[20]; char password[20]; int i = 0; for(i = 0; i < 3; i++) { printf(

打印出所有&quot;水仙花数&quot;,所谓&quot;水仙花数&quot;是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。

题目描述 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身. 例如:153是一个水仙花数,因为153=1^3+5^3+3^3. Output: 153 ??? ??? ??? 输入 无 输出 所有的水仙花数,从小的开始. 每行一个 样例输入 无 样例输出 无 程序:#include<stdio.h>int main(){    int i,a,b,c;    for(i=100;i<1000;i++)    {  

求数组中两两相加等于20的组合(Python实现)

题目 求数组中两两相加等于20的组合. 例:给定一个数组[1, 7, 17, 2, 6, 3, 14],这个数组中满足条件的有两对:17+3=20, 6+14=20. 解析 分为两个步骤: 先采用堆排序或快速排序对数组进行排序,时间复杂度为O(nlogn). 然后对排序的数组分别从前到后和从后到前进行遍历, 时间复杂度为O(n). 假设从前到后遍历的下标为begin,从后到前遍历的下标为end. 当arr[begin] + arr[end] < 20时,满足条件的数一定在[begin+1, en

JavaScript基础 使用+号连接两个字符串

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

网速4M等于多少KB/S,等于多少kbps

4M=512KB/S=4096Kbps 1KB/S=8Kbps8倍速转:http://zhidao.baidu.com/link?url=8GAyhcY9BbVstQr8pE3I7QP_M53Km1zWKitaxT02x-q7iFXNwRVcyUzjwhngf35JVf2fEdReVyuP7IiLikSJRa网速4M等于多少KB/S,等于多少kbps,布布扣,bubuko.com

如何不使用第三个变量来交换两个数的值

最近在看<c++从入门到精通>自学c++,里面有一道课后题是如何做到不适用第三个变量来交换两个数的值,以下是我在网上查找到的资料,记录下并作为笔记. 题目:a=10,b=15,将a / b的值互换. 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下:      int a,b;      a=10; b=15;      int t;      t=a; a=b; b=t;      这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用