PHP中字符串转换为数值 可能会遇到的坑
2015-10-21 00:05
579 查看
今天看到一个老外最喜欢的一段代码
当一个字符串被当作一个数值来取值,其结果和类型如下:
如果该字符串没有包含 '.','e' 或 'E' 并且其数字值在整型的范围之内(由
该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0(零)。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),再跟着可选的指数部分。指数部分由 'e' 或 'E' 后面跟着一个或多个数字构成。
<?php $string = 'zero'; $zero = 0; echo ($string == $zero) ? 'Why? Just why?!' : 'You know why...'; // Why? Just why?! ?>
当一个字符串被当作一个数值来取值,其结果和类型如下:
如果该字符串没有包含 '.','e' 或 'E' 并且其数字值在整型的范围之内(由
PHP_INT_MAX所定义),该字符串将被当成 integer 来取值。其它所有情况下都被作为 float 来取值。
该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0(零)。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),再跟着可选的指数部分。指数部分由 'e' 或 'E' 后面跟着一个或多个数字构成。
<?php $foo = 1 + "10.5"; // $foo is float (11.5) $foo = 1 + "-1.3e3"; // $foo is float (-1299) $foo = 1 + "bob-1.3e3"; // $foo is integer (1) $foo = 1 + "bob3"; // $foo is integer (1) $foo = 1 + "10 Small Pigs"; // $foo is integer (11) $foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2) $foo = "10.0 pigs " + 1; // $foo is float (11) $foo = "10.0 pigs " + 1.0; // $foo is float (11) ?>
相关文章推荐
- PHP实现清除wordpress里恶意代码
- PHP 实现的将图片转换为TXT
- PHP中的switch语句的用法实例详解
- PHP中使用substr()截取字符串出现中文乱码问题该怎么办
- php获取汉字拼音首字母的方法
- 使用xampp搭建运行php虚拟主机的详细步骤
- 功能强大的PHP图片处理类(水印、透明度、旋转)
- 为你总结一些php系统类函数
- 深入理解PHP变量的值类型和引用类型
- 为你总结一些php信息函数
- php精确的统计在线人数的方法
- PHP统计当前在线用户数实例讲解
- php文件输出
- php5引用后计算出错。
- PHP常用字符串函数总结
- PHP截取字符串中两个特定唯一字符之间的内容
- 48. PHP 页面静态化(1)
- php 匹配字符串中的连续数字
- PHP - Rsa(秘钥格式为XML格式)
- PHP中引用的详解(引用计数、写时拷贝)