php下intval()和(int)转换使用与区别

转载 2018年01月10日 00:00:00

代码如下:

  1. <?php

  2. echo "<br/>数值强制转换:";

  3. $string="2a";

  4. $string1=intval($string);

  5. echo '$string1的值:'.$string1.'$string2的值:';//单引号不会输出变量,将原样输出

  6. $string2=(int)($string);

  7. echo $string2

  8. ?>

手册上查不到。 这也是手册上说的:

引用: int intval ( mixed $var [, int $base ] ) 通过使用特定的进制转换(默认是十进制),返回变量 var 的 integer 数值。 如果只有这点区别的话,那么我喜欢用(int)处理10进制的情况是不错的选择吧? 没啥区别,一般用(int),另外还有 float, string, array 等

intval()而言,如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第一个是‘-',则从第二个开始算起。

如果参数是符点数,则返回他取整之后的值。

当然intval()返回的值在一个4字节所能表示的范围之内 (-2147483648~2147483647,对于超过这个范围的值将用边界值代替。

例:

  1. intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123;

  2. int();

例:

  1. $a=0.13;

  2. $b=(int)$a; //$b=0;

  3. $a=0.99;

  4. $b=(int)$a; //$b=0;

  5. $a=1.01;

  6. $b=(int)$a; //$b=1;

  7. $a=1.99;

  8. $b=(int)$a; //$b=1;

PHP字符串转换为int

有时,重要的是有一个int格式的变量的值。 eaxmple,如果你的访问者填写表单,随着年龄的领域,这应该是一个int。然而,在$ _POST数组,你把它作为一个字符串。 转换为int的PHP字符串是很容易的。我们需要使用之前,你的变量类型casting.So你需要使用(INT)。下面是一个例子,如何做到这一点: 代码如下:

  1. <?php

  2. $str = "10";

  3. $num = (int)$str;?>

如果要检查的代码REALY工程,我们可以使用===运算符。这个操作符检查不仅值,但类型以及。这样的代码看起来应该是这样的: 代码如下:

  1. <?php

  2. $str = "10";

  3. $num = (int)$str;

  4. if ($str === 10) echo "String";

  5. if ($num === 10) echo "Integer";

  6. ?>

还有一个问题是开放的。如果我们的字符串是不是一个单纯的数字的字符串,会发生什么。我的意思是有其他字符串中的字符。在这种情况下,转换操作尝试最好的和可以转换的字符串,如果只有空间是有,如果没有有效的字符后的数字值。它的工作原理如下:

  1. 10 - > 10

  2. 10.5 - > 10

  3. 10,5 - > 10

  4. 10 - > 10

  5. 10 - > 10

  6. 10test - > 10

  7. test10 - > 0


  • 本文已收录于以下专栏:

php下intval()和(int)转换使用与区别

想知道使用intval()和(int)转换有什么区别?或者说两者有什么不同,包括功能、定义方面的。或者和使用频率、效率等。 复制代码 代码如下: echo "数值强制转换:";  $...
  • wide288
  • wide288
  • 2014年03月03日 15:39
  • 4717

php intval 两位小数乘以100后结果少1

因为工作需要,价格处理的时候往往是两位小数需要换算成分,如:16.33元换算为1633分,直接乘以100也就行了的,但是又使用了一个转换为整数类型的函数intval() 这下子结果就不对了,如图: ...
  • leedaning
  • leedaning
  • 2016年09月09日 11:42
  • 2815

php下intval()和(int)转换使用与区别

手册上查不到。  这也是手册上说的:引用: 
  • Alen_xiaoxin
  • Alen_xiaoxin
  • 2017年01月05日 11:04
  • 1029

php下intval()和(int)转换使用与区别

来源:http://www.jb51.net/article/15174.htm 想知道使用intval()和(int)转换有什么区别?或者说两者有什么不同,包括功能、定义方面的。或者和使用频率、效...
  • gb4215287
  • gb4215287
  • 2016年09月02日 16:22
  • 136

php四舍五入函数(floor、ceil、round与intval)

php 中处理浮点数时经常要需要四舍五入。在php 中有两个函数适用于这种情况:floor函数、ceil函数和round函数 floor函数和ceil函数互相搭配起来可以使php 处理的数据更加真实可...
  • tingliting
  • tingliting
  • 2015年04月22日 09:09
  • 363

PHP数据类型转换(字符串转数字,数字转字符串)

PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:(int)、(integer):转换成整形 (float)、(double)、(real):转换成浮点型 (string):转换成字符串 ...
  • daydaymiddle
  • daydaymiddle
  • 2017年11月07日 10:34
  • 72

PHP函数之日期时间函数date()详解

[导读] date()函数是我们在php开发中常碰到并且会使用到的一个日期函数,下面我来给大家介绍date()函数的一些基本扮靓和方法,有需要了解的朋友可进入参考。日期时间函数是PHP 的核心组成部分...
  • pangchengyong0724
  • pangchengyong0724
  • 2016年07月30日 10:50
  • 724

PHP长整型在32位系统中强制转化溢出

CleverCode最近遇到一个PHP项目整形转化问题,mysql有一个字段id是bigint的,里面有长整型,如id = 5147486396。但是php代码由于历史原因却部署在A机器32位系统中,...
  • CleverCode
  • CleverCode
  • 2015年06月09日 10:12
  • 4675

你真的会php吗?

今天来讨论一道php代码审计的题,这是一道实验吧的题,链接: http://ctf5.shiyanbar.com/web/PHP/index.php 。 首先我们点开链接,并且查看源代码, 发...
  • JBlock
  • JBlock
  • 2017年12月07日 20:31
  • 483

static_cast与c风格的强制类型转换比较

class A { int a; }; class B { int b; }; class C : public A { int c; }; int main() { ...
  • whatday
  • whatday
  • 2015年12月28日 10:51
  • 3467
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php下intval()和(int)转换使用与区别
举报原因:
原因补充:

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