`

PHP中的数字与字符串比较

    博客分类:
  • PHP
 
阅读更多

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

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

 

FROM:

http://www.cnblogs.com/lwbqqyumidi/archive/2013/01/31/2887086.html

分享到:
评论

相关推荐

    PHP生成指定数量的不重复随机字符串

    可以生成指定数量的不重复随机字符串,支持纯数字、字母和数字组合、字母数字加特殊字符

    PHP学习之字符串比较和查找

    1. 字符串比较 在PHP中,可以用==(双等号)或者 ===(三等号)来比较字符串。两者的区别是双等号不比较类型,三等号会比较类型,它不转换类型;用双等号进行比较时,如果等号左右两边有数字类型的值,刚会把另一个...

    PHP容易被忽略而出错陷阱 数字与字符串比较

    原因是, 数字与字符串比较时, 先尝试将字符串转换为数字, 再比较, 一个不能转换为数字的字符串, 转换结果为0, 故, 与0比较总返回 true. 更加详细的比较规则, 多种类型的比较规则, 在 PHP手册/语言参考/运算符/比较...

    PHP按符号截取字符串的指定部分的实现方法

    字符串截取在php开发中是比较常用的; 而且对于截取的需求也有很多种; 有时我们想截取最后一个斜杠’/’后面的数字; 有时我们又需要截取第一个斜杠’/’前面的内容判断用户输入的url链接带不带http://等等; 字符...

    PHP生成随机字符串

    PHP生成(产生)随机字符串,可用来自动生成密码,默认长度6位,字母和数字混合等模式,支持随机生成中文字(汉字)。

    多字节支持的字符串操纵的php库.zip

    在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一...

    用PHP中的 == 运算符进行字符串比较

    最近在Greg Beaver’s的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题。 在某些情况下,PHP会把类数值数据(如含有数字的...

    实例分析PHP将字符串转换成数字的方法

    下面给大家介绍PHP将字符串转换成数字的四种方法。 方法1: 使用number_format()函数。number_format()函数用于将字符串转换为数字。它会在成功时返回格式化的数字,否则会在失败时给出E_WARNING。 &lt;?php $...

    整数生成唯一字符串的加密PHP库.zip

    &lt;?php namespace Hashids; class Hashids implements HashidsInterface { ... const SEP_DIV = 3.5;... }这是一个功能强大的php加密类,构造参数是密匙,对数字进行一些加密和解密的操作。

    php分析域名(字符串)的类型

    根据输入的域名(或者字符串,可自行更改判断),分析出该域名是纯数字、纯字母、或者拼音,有几个拼音组成。也可用于分析字符串是否为全拼音,会返回出识别道德拼音,采用了拼音库中的拼音列表,若有新的词汇出现,...

    PHP指定截取字符串中的中英文或数字字符的实例分享

    主要介绍了PHP指定截取字符串中的中英文或数字字符的实例,还附带介绍了过滤字符串中空格的方法,需要的朋友可以参考下

    PHP提取字符串中的手机号正则表达式怎么写

    PHP通过正则表达式提取字符串中的手机号并判断运营商,简单快速方便,能提取多个手机号。下面通过本文实例代码给大家详细介绍,需要的的朋友参考下吧

    PHP删除字符串中非字母数字字符方法总结

    方法1:正则表达式’/ [\ W] /’匹配所有非字母数字字符,并用”(空字符串)替换它们。 $str = preg_replace( '/[\W]/', '', $str); 在正则表达式中,W是一个元字符,前面是反斜杠(\ W),用于赋予组合特殊含义。...

    php比较两个字符串长度的方法

    主要介绍了php比较两个字符串长度的方法,涉及php中strlen与abs函数计算字符串与数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    php实现过滤字符串中的中文和数字实例

    本文实例讲述了php实现过滤字符串中的中文和数字。分享给大家供大家参考。具体实现方法如下: function getChinese($string,$encode=GBK) { switch($encode){ case GBK :$codelength=2;break; case GB2312 :$...

    几个有用的php字符串过滤,转换函数代码

    //除去字符串中所有空格 ltrim();//除去字符串左边空格 htmlspecialchars();//转换’$’,'”‘,'&lt;‘,’&gt;’为相应的html实体 htmlentities();//转换所有html标记为相应的html实体 array explode(string separator,...

    PHP similar_text 字符串的相似性比较函数

    PHP 提供了一个极少使用的 similar_text 函数,但... 您可能感兴趣的文章:PHP学习之字符串比较和查找PHP 字符串分割和比较用PHP中的 == 运算符进行字符串比较PHP容易被忽略而出错陷阱 数字与字符串比较php 字符串压缩方

    PHP is_numeric 检测变量是否为数字或数字字符串.rar

    PHP is_numeric 检测变量是否为数字或数字字符串.rar

Global site tag (gtag.js) - Google Analytics