php中字符串和整数比较的操作方法

今天在处理php中循环的时候,有个比比较的操作,但是结果一直不是自己预判的,于是跟踪了一下,发现了字符串和整数进行比较的时候,会把字符串转换成整数然后进行比较。这个在java,c这种强类型的语言中不会有问题,因为他们会对字符串进行转换然后比较,但是在php这种弱类型中,可以直接比较的时候,就会有问题。

$a = "梦回故里";
if($a==0){
    echo "等于";
}else{
  echo "不等于";
}

比如下面这段代码,一开始以为会输出不等于,因为$a按照我们的理解应该是个true吧,他应该是1吧,所以怎么也是不等于吧。但是结果却是等于。因为$a会转换成整数,转换会从第一个字符开始如果不是整数就转换成0.

比如下面的例子:

$a = "梦回故里1";
if(0==$a){
    echo "等于";
}else{
  echo "不等于";
}

这个依然会输出等于,因为第一个梦字不是整数,所以转换成0.

$a = "1梦回故里";
if(0==$a){
    echo "等于";
}else{
  echo "不等于";
}

这个就会输出不等于,因为第一个是1,它会转换成1,然后进行比较,所以是不等于。

php语言就是这样,给我们提供了足够的自由,学起来也简单,但是我们一定要夯实基础,注意细节。细节决定成败。

总结

以上所述是小编给大家介绍的php中字符串和整数比较的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 使用字符串函数输出整数化的PHP版本号

    再用用程序时,一般需要对php版本号整数化后进行判断,从而确定输出. <?php $temp=explode(".",phpversion()); //以数组形式获取版本号 $num=count($temp);               //计算数组中的元素数量 $phpver=0; switch($num) {   cas 3:      $phpver=$phpver+(intval($temp[2]));   cas 2:      $phpver=$phpver+(in

  • PHP中将字符串转化为整数(int) intval() printf() 性能测试

    背景.概述 早在Sql注入横行的前几年,字符串转化为整数就已经被列为每个web程序必备的操作了.web程序将get或post来的id.整数等值强制经过转化函数转化为整数,过滤掉危险字符,尽可能降低系统本身被Sql注入的可能性. 现如今,虽然Sql注入已经逐渐淡出历史舞台,但是,为了保证web程序的正常运行,减少出错概率,更好的保证用的满意度,我们同样需要将用户的不正确输入转化为我们所需要的. 转化方式 在PHP中,我们可以使用3种方式将字符串转化为整数. 1.强制类型转换方式 强制类型转换方式,

  • php中字符串和整数比较的操作方法

    今天在处理php中循环的时候,有个比比较的操作,但是结果一直不是自己预判的,于是跟踪了一下,发现了字符串和整数进行比较的时候,会把字符串转换成整数然后进行比较.这个在java,c这种强类型的语言中不会有问题,因为他们会对字符串进行转换然后比较,但是在php这种弱类型中,可以直接比较的时候,就会有问题. $a = "梦回故里"; if($a==0){ echo "等于"; }else{ echo "不等于"; } 比如下面这段代码,一开始以为会输出

  • java中字符串转整数及MyAtoi方法的实现

    java中字符串转整数及MyAtoi方法的实现 该题虽然和我们正常使用的字符串转整数的API中函数不一致,但是通过增加了很多额外的边界或者异常处理,可以锻炼算法思维的敏锐性和处理边界异常等问题的能力. 思路:字符串题一般考查的都是边界条件.特殊情况的处理.所以遇到此题一定要问清楚各种条件下的输入输出应该是什么样的. 这里已知的特殊情况有: 能够排除首部的空格,从第一个非空字符开始计算 允许数字以正负号(+-)开头 遇到非法字符便停止转换,返回当前已经转换的值,如果开头就是非法字符则返回0 在转换

  • Python基础篇之字符串的最全常用操作方法汇总

    目录 前言: 字符串的最全常用操作方法 string.capitalize() ​​​​​string.upper() ​​string.lower() string.swapcase() ​​​​​​string.title() ​​​​string.center() string.expandtabs(tabsize = 8) len(string) string.endswith(obj, beg=0, end=len(string)) string.startswith(obj, beg

  • Javascript中字符串和数字的操作方法整理

    1.length – 返回字符串的长度 'abcd'.length; //4 2.Math.ceil(num) – 向上取整,不管小数点后面是多少,哪怕.00001,也会向上进一位. Math.ceil(25.9); //26 Math.ceil(25.5); //26 Math.ceil(25.1); //26 3.Math.floor(num) – 向下取整,不管小数点后面是多少,哪怕.99999,也会向下减一位. Math.floor(25.9); //25 Math.floor(25.5

  • JavaScript中字符串的常用操作方法及特殊字符

    下面看下js字符串的常用操作方法,具体内容如下所述: charAt()            获取字符串中特定索引处的字符: toupperCase()  将字符串的所有字符转换成大写字母: indexOf()          返回字符串中特定字符串第一次出现的位置 substring()        返回字符串的某个子串 slice()               返回字符串中的某个子串,支持负数参数(字符串中倒数第一个字符定为-1) concat()            用于将多个字符

  • 在C++中把字符串转换为整数的两种简单方法

    目录 C++中的数据类型 如何在C++中声明和初始化 int s 如何在C++中声明和初始化 string s 如何使用 stoi() 函数将字符串转换为int 如何使用stringstream 类将一个字符串转换为一个int 总结 当你用C++编码时,经常会有这样的时候,你会想把一种数据类型转换为另一种. 在这篇文章中,你将看到两种最流行的方法来学习如何在C++中把字符串转换为整数. 让我们开始吧! C++中的数据类型 C++编程语言有一些内置的数据类型. int,用于整数(整数)(例如10,

  • Python3中字符串的常用操作方法及查找方法

    目录 一·字符串的介绍 二·字符串的查找方法 一·字符串的介绍 首先我们得先了解什么是字符串,字符串是python中最为常见的数据类型,我们一般使用引号来进行创建.一共有三种创建方式:单引号(''),双引号(""),三引号("""""").前两种没有太大区别,但使用三引号时里面的内容可以进行换行操作. 代码举例: # 双引号 a = "hello world" print(a) # 输出结果:hello w

  • python中字符串的操作方法大全

    前言 python中字符串对象提供了很多方法来操作字符串,功能相当丰富. print(dir(str)) [..........'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'i

  • C/C++中字符串流详解及其作用介绍

    目录 概述 字符串流 理解字符串流 输出字符串对象 输入字符串流对象 输入输出字符串流对象 案例一 案例二 字符数组 vs 文件 总结 概述 文件流类和字符串流类都是 ostream, istream 和 iostream 类的派生类, 因此对它们的操作方法是基本相同的. 字符串流 文件流 字符串流 概念 文件流是以外存文件为输入输出对象的数据流 字符串流也 称为内存流, 以内存中用户定义的字符数组 (字符串) 为输入输出的对象 相关流类 ifstream, ofstream 和 fstream

  • java中最大的整数用法分析

    本文实例讲述了java中最大的整数用法.分享给大家供大家参考,具体如下: 8种基本数据类型中,long类型所能表示的整数范围是最大的,但还是有限的.另外,基本数据类型中的整数还有一个问题,那就是不是每个数都能够正确的取负数.例如,对int型而言,"-2147483648"取负就不能得到正确的结果,对其他整数类型也有这个问题. 为了解决这些问题,Java中专门提供了用来进行不限制大小的整数计算的类--java.math.BigInteger.该类可以对任意大小的整数进行操作,不过在进行计

随机推荐