php中intval函数细节

int intval(mixed $var [, int $base]); 

1.intval()的返回值是整型,1或者0。可作用于数组或者对象(对象报错信息:Notice: Object of class 对象名 could not be converted to int in 文件名 on line 行数),值为1。

作用于数组时当数组为空,返回值是0,不为空则为1,并无报错。

2.intval()只是获取变量的整型值(截取变量的整数部分,直接舍去小数),并没有实际改变变量的值。对于不需要四舍五入的数值可直接使用。

3.不管变量前面有多少个0,且数字都小于8,它会当作是八进制数转换成十进制数,如:

1

2

3

4

<?php

    $a = 077;//$a = 000077;输出结果都一样

    echo intval($a);

?>

  输出:63

4.接着上面的,如果变量前面有0,后面的有效位第一位不小于8,则输出为0,如:

1

2

3

4

<?php

    $a = 087;

    echo intval($a);

?>

  输出:0

5.接着上面的,如果变量前面有0,后面的有效位从第二位不大于8,则只输出前面的有效位,如:

1

2

3

4

<?php

    $a = 0729;

    echo intval($a);

?>

  输出:58   //0729后面的9被省去了,只认072

这是一些细节,大家要注意哦,还有

echo intval(042);                     // 34
echo intval('042');                   // 42

前者会有进制转换,后者会有数值类型的转换哦

猜你喜欢

转载自blog.csdn.net/rootzcl/article/details/82967029
今日推荐