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中比较运算符的易错用法(字符串与数值的比较)
- php中的数值型字符串相加 相比较(> < ==)
- php中的数值型字符串相加 相比较(> < ==)
- equals ==相比较
- php字符串相加
- 字符串中的数字相加
- 数值相加
- PHP数值与字符串介绍
- PHP格式化导出EXCEL 【数值型字符串显示问题】
- perl中的字符串和数值
- java提取字符串中的数值
- 小心SQL中的字符串相加变成NULL
- Java中的字符串相加,内存怎么分配?
- js数值相加问题
- 字符串相加
- 字符串相加
- 字符串相加
- 字符串相加
- 字符串相加
- Android源码浅析(五)——关于定制系统,如何给你的Android应用系统签名
- VC中多文档动态创建CEdit,并获取输入内容
- 23种设计模式全解析
- 手机QQ会员H5加速方案——sonic技术内幕
- __setup 在内核中的作用(转) 2
- php中的数值型字符串相加 相比较(> < ==)
- java语言中的继承
- 军训感悟
- 如何限制EditText输入的字符长度_王菲
- 安卓图片操作(调用系统相机,预览本地照片,调用系统裁剪图片,压缩图片,中心裁剪方形图片,bitmap转byte[])
- WebRTC第二步:搭建shadowsocks服务器
- struts2中使用注解配置Action
- ionic 开发中用到的时间选择器
- openssl生成 公钥 私钥 pair