PHP中的数字与字符串比较

转载 2018年04月16日 15:57:59

PHP中的比较运算符有点诡异,很容易出错,现列出比较规则:

1、当两个字符进行大小比较时,是比较着这两个字符的ASCII码大小——这条很容易理解。

2、当两个字符串进行大小比较时,是从第一个字符开始,分别比教对应的ASCII大小,只要从从某个对应位置开始,其中一个字符串的当前位置字符大于另一个字符串对应位置字符,即直接判别出这两个字符串大小,如'ba'>'az'——这条其实大家也都知道的。

那么'10'与'a'比较呢,当然还是一样的啦,首先将'1'和'a'ASCII码进行比较,'a'大。

3、当一个数字与一个字符串/字符进行大小比较时,首先系统尝试将此字符串/字符转换为整型/浮点型,然后进行比较,如'12bsd'转型为12,'a'转型为0,千万需要注意的是此时不是将其对应的ASCII码值与数字进行大小比较了。

其实同样的道理,'a'+10结果也是10。

并且容易忽略的:0 与任意不可转化为数字的字符串比较(操作符为==), 均返回 true。

最后就会出现如下结果:

1 var_dump('1000000'<'a');    //result: boolean true
2 var_dump('a'<1);            //result: boolean true
3 var_dump(1<'1000000');      //result: boolean true

与常规中的思维还是有一点点不同的吧。。

转载地址:http://www.cnblogs.com/lwbqqyumidi/archive/2013/01/31/2887086.html

PHP容易出错点:PHP中的数字与字符串比较

PHP中的比较运算符有点诡异,很容易出错,现列出比较规则: 1、当两个字符进行大小比较时,是比较着这两个字符的ASCII码大小——这条很容易理解。 2、当两个字符串进行大小比较时,是从第一个字符开...
  • a930716
  • a930716
  • 2017年02月17日 12:55
  • 692

php数字与字符串比较时的注意事项

如果不把$p1强制设置为字符串,明明不相等,却判断为相等。
  • qvbfndcwy
  • qvbfndcwy
  • 2016年11月04日 18:45
  • 742

PHP中的数字与字符串比较

PHP数字与字符串进行对比的时候,会把字符串先进行intval()操作。然后再与数字进行对比,所以,一定要注意有出现与0比较的表达式。 0 == '字符串' // 返回true; 0 === '字...
  • mengzhongshi
  • mengzhongshi
  • 2011年11月10日 14:16
  • 2050

18.PHP数字与字符串比较的误区

2016.12.03 1.问题描述 今天在做微信微信关键词自动回复时,需要判断输入的是否为整数,使用了 if(intVal($key) == $key), 即将输入转化为整数再与自身比较,若...
  • Darry_Zhao
  • Darry_Zhao
  • 2016年12月03日 14:50
  • 3126

JavaScript-数字和字符串比较大小

JavaScript-数字和字符串比较大小 JavaScript经常会比较字符串的大小,有的时候容易混淆,因此简单的梳理一下JavaScript字符串的比较: ...
  • xiaoya_syt
  • xiaoya_syt
  • 2017年06月30日 13:06
  • 1244

Python中数字和字符串比较大小问题

python 2.x中 不同数据类型可以相互比较的, 因此如果不注意类型验证就会出现’0.3’ > 1000这种无语法错误却明显不符合期望的结果,有一次我发现代码里的条件不管前台怎么传值都成立,最终才...
  • iop00177
  • iop00177
  • 2017年11月01日 13:14
  • 1153

PHP字符串之间的比较

/** * 字符串的比较 */ /* * 精确比较: * 可以用 == 和 === 操作符来比较两个字符串是否相等。 * 这两个操作符的不同在于它们如何处理费字符串数据类型的操作数。 * ...
  • xyy94813
  • xyy94813
  • 2016年03月18日 11:05
  • 427

javascript中的字符串数字比较大小的问题

只为自己学习。。其他人想看去博主版面谢谢。
  • qq_19470525
  • qq_19470525
  • 2015年09月18日 10:27
  • 563

linux shell 中比较数字 、字符串 大小

数字的比较: -eq 相等(equal) -ne 不等(not equal) -gt 大于(greater than) -lt 小于(less than) -ge 大于等于 (greater...
  • yifeng4321
  • yifeng4321
  • 2017年04月21日 20:59
  • 2136

shell下数字和字符串比较操作命令 if的参数说明

shell中数字和字符串比较操作命令以及 if的参数说明 [ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真...
  • GGxiaobai
  • GGxiaobai
  • 2017年03月02日 16:51
  • 450
收藏助手
不良信息举报
您举报文章:PHP中的数字与字符串比较
举报原因:
原因补充:

(最多只允许输入30个字)