php中的数值型字符串相加 相比较(> < ==)

来源:互联网 发布:搜狗 算法研究员 面试 编辑:程序博客网 时间:2024/06/03 15:21


一。php中数值型字符串相加


1.若两个字符串开头没有有效数值或不是数值型字符串,这两个字符串相加时都看成0;

eg:

$a="abc";

$b="b01";


$a+$b是0


2.两个数值型字符串相加时,有效数字进行相加。


eg:

$a="100";

$b="01a";


$a+$b=101;


3/如果字符串中带有‘.’,'e','E'时,按float型数字处理。


eg:

$a="100";

$b="12.6a";

$a+$b=112.6;


$a='10';

$b='12.3e3';

$a+$b同样为float型float(12310)


二.php中两个字符串相比较(< > ==);


1.php中两个字符串比较是否相等,一般不用(==),因为(==)会改变原有数据类型,而是用strcmp(str1,str2)系列函数

strcmp($str1,$str2);(strcmp是强制转化为string型进行比较)。


eg:

$a='123';

$b='123.';($b后多了一个小数点)


但是有(==)进行比较是结果却是true

var_dump($a==$b);

所以一般不用(==)进行字符串的比较。


另外,一个数字与一个字符串进行比较时,字符串会转化为int或float型(numberic_string含有‘.’,'e','E')。

eg:

‘abc’转化为int(0);

‘12ab’转化为int(12);

‘12.3e3'转化为float(12300);


2.( > < )的比较

2-1:如果是两个字符串的比较,则逐个比较对应的字符的ascii码。


2-2:如果是数字与字符串进行比较,字符串先转化为数字,然后进行比较。


2-3:如果是两个数字型字符串(纯数字型字符串)进行比较,则这两个字符串首先转化为数字再进行比较。

eg:

$a='100';

$b='20';

则$a>$b;

但是

如$a=''100a;

$b='20';时,

结果为$a<$b;


相关链接:

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


php字符串比较  


php中比较运算符的易错用法(字符串与数值的比较)



  对于俩个字符串, 会首先判断他们是否是numeric_string, 如果是,那么就会转换成整形来比较.. 那么什么是numeric string呢? 因为PHP不区分类型, 所以它采用一个策略, 当你的变量看起来是一个数字的时候, 那么她就认为这个变量是一个数字,然后转换为整形来比较。






0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 考研没过国家线怎么办 中石化的油卡怎么办 5173号被找回了怎么办 谭木匠梳子断了怎么办 198地块上的企业怎么办 天猫投诉不成立怎么办 顾客老嫌瓷砖贵怎么办 公司的公章丢了怎么办 物业不给充电费怎么办 怎么办社保卡去哪里办 单位没给社保卡怎么办 诈骗链接点开了怎么办 私人老板拖欠工资不给怎么办 辞职了工资不发怎么办 老板欠工资不给怎么办 投资平台跑路了怎么办 眼镜太松往下滑怎么办 塑胶水管管断了怎么办 淘宝排名靠后了怎么办 我有古董想出售怎么办 被拍卖公司骗了怎么办 苹果4s铃声太小怎么办 新号码注册微信怎么办 uc不能下种子了怎么办 刚出生的小牛喘怎么办 回奶之后有硬块怎么办 回奶第十天硬块怎么办 断奶期间乳房有硬块怎么办 断奶后乳房有肿块怎么办 北京一证通到期怎么办 没做过后勤的人怎么办 别样app被税了怎么办 人肉代购被税了怎么办 网易考拉被税了怎么办 家住乐清被税了怎么办 糖耐结果高了怎么办 35岁之后死档案怎么办 档案被自己拆了怎么办 超过35岁的死档怎么办 医保卡和社保卡怎么办 吴江市民卡丢了怎么办