声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。
欢迎转载,转载请注明出处 。
本文地址:http://imsiren.com/archives/520
趁热打铁 顺便说说 intval函数.该函数好像我们用的最多的就是在POST或者GET某个参数的时候,将其强制转换为int型,
为了保证我们传入到SQL的时候是一个整形.,当然这只是其中一种用法..该函数接受两个参数,第一个是要转换的字符串,第二个要转换成的进制数,默认为十进制.我们先用PHP 来看看它的用法.
OK,看看它的定义.同样定义在ext/standard/type.c文件中.
该函数会根据我们传递过来的参数个数进行不同的处理.第二个参数是要转换成的进制数,如果为空默认为10进制.最后会调用 convert_to_long_base(return_value, base);来对我们输入过来的数据进行处理该函数定义在Zend/zend_operators.c中
该函数首先获取类型,在进行不同的处理
19行,如果是 IS_DOUBLE类型,则会进行强制转换# define zend_dval_to_lval(d) ((long) (d))
21-27行,会调用 C函数 strtol将其转换成long类型
29-33行,如果是数组类型,会获取数组的个数,如果有值则将其设置为1,否则为0.这就是我们数组里有N个键和值,为什么返回还是1的原因:
不管 数组键值有多少个,只要有值,就为1.
34-49行,如果是对象呢,那就会先调用convert_to_long其强制转换为long,否则抛出异常,返回1.
如果没有返回类型则会返回0.
分享到:
相关推荐
在本篇内容里小编给大家总结了关于php intval函数用法以及相关知识点总结,需要的朋友们跟着学习下。
intlab中intval\@intval文件夹下输出区间错误修改 将改文件替换intval\@intval下原有display.m 然后重新启动 >>startintlab
intval (PHP 4, PHP 5) intval — Get the integer value of a variable Description int intval ( mixed $var [, int $base= 10 ] ) Returns the integer value of var , using the specified base for the ...
var_dump(intval($a));$a = 945*1.00;var_dump($a);var_dump(intval($a));?><SPAN style=”WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; DISPLAY: inline !important; FONT: 12px Simsun; WHITE-SPACE...
<?php $o = 0.1; for($a = 1; $a < 100; $a++){ $o += 0.1;... 结果: intval(‘0.2’) = 0 false intval(‘0.3’) = 0 false intval(‘0.4’) = 0 false intval(‘0.5’) = 0
想知道使用intval()和(int)转换有什么区别?或者说两者有什么不同,包括功能、定义方面的。或者和使用频率、效率等。
php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval。 有一天突然想起,php intval的取值范围与mysql的int类型一样吗? 查了一下,不一样…… ...
floor函数和ceil函数互相搭配起来可以使php 处理的数据更加真实可靠。 一、先来看floor函数: 语法: float floor ( float value ) 说明: 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() ...
我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。 ceil — 进一法取整说明float ceil ( float value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 ...
$dDay = intval(date("z",$cTime)) - intval(date("z",$sTime)); //$dDay = intval($dTime/3600/24); $dYear = intval(date("Y",$cTime)) - intval(date("Y",$sTime)); //normal:n秒前,n分钟前,n小时前,日期...
web程序将get或post来的id、整数等值强制经过转化函数转化为整数,过滤掉危险字符,尽可能降低系统本身被Sql注入的可能性。 现如今,虽然Sql注入已经逐渐淡出历史舞台,但是,为了保证web程序的正常运行,减少...
intval($_REQUEST['pageNo']) : 1; $paginator = new paginator(18, 2, $pageNo); $paginator->setUrlTemplate(array('name'=>@$_REQUEST['name'], 'age'=>@$_REQUEST['age'], 'pageNo' => '{no}')) ->...
intval是一个小的unix / linux命令,用于从给定参数中获取整数值。 它在不支持内置intval函数的脚本语言中很有用。