in_array函数是判断数据中是否存在指定的内容了,对于这个函数用法非常的简单但在使用过程中会我发现有一些问题. 先介绍一下需求背景: 发票方式: 0=捐赠(不要问我为什么,历史原因) 1=对中寄送 2=索取 3=电子发票 现在要对用户提交的数据进行检测: php;auto-links:false;">if(!in_array($_POST['invoice_action'], array(0,1,2,32881064151))){ throw new Exception('请选择正确的…
var_dump(in_array(0, array('s' )); 这句话的结果是bool(true). 因为in_array会将0 和's' 进行比较,0是number类型,'s'是string类型,根据php教程 manual 中"comparison operators" 一章的说明可知,number 和string进行 比较的时候,会先将string类型首先转化为number,然后再进行比较操作. 's'转化为number的结果为0,而0 == 0 的结果是true,所以in…
var_dump(in_array(0, array('s' )); 这句话的结果是bool(true). 因为in_array会将0 和's' 进行比较,0是number类型,'s'是string类型,根据php教程 manual 中"comparison operators" 一章的说明可知,number 和string进行 比较的时候,会先将string类型首先转化为number,然后再进行比较操作. 's'转化为number的结果为0,而0 == 0 的结果是true,所以in…
setTimeout跟setInterval大家应该都很熟悉的,但是一直很少注意,原来这两个函数可以支持第三个参数的,但是IE就呵呵了,仅IE(6-9)呵呵了,其他浏览器都支持的。 第三个参数将作为回调函数的参数obj传入,例子如下: setTimeout(function(obj){ alert(obj.a) },1000,{a:1}) 在非IE6-9下可以正常执行…
看段代码 <?php $array = array('testing',0,'name'); var_dump($array); var_dump(in_array('foo', $array)); var_dump(in_array('foo', $array, TRUE)); ?>   第一次会返回true,第二次返回false,明白了吗? 在之前的日志(http://www.cnblogs.com/gaoj87/archive/2013/05/08/3066919.html)里提过关于i…
needle 待搜索的值. haystack 待搜索的数组. strict 如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同. if (!in_array($type,[1,2,3],true)) { $this->json->setErr(10003, '任务类型非法'); $this->json->Send(); } 第三个参数是true的时候,很严格.如果type的值是数字1,2,3…
前段时间勾股有提到stringify是支持三个参数,刷新的了我的认知,后来查到文档才发现还真的是支持三个参数的. 参考资料: stringify stringify方法顾名思义,就是把JSON序列换,其语法如下: JSON.stringify(value[, replacer [, space]]) 注意到它接收三个参数,后面2个参数是可选的. 只传一个参数 var data = {name:"niuzai",info:{age:18,sex:"male"}}; J…
前段时间勾股有提到stringify是支持三个参数,刷新的了我的认知,后来查到文档才发现还真的是支持三个参数的. 参考资料: stringify stringify方法顾名思义,就是把JSON序列换,其语法如下: JSON.stringify(value[, replacer [, space]]) 注意到它接收三个参数,后面2个参数是可选的. 只传一个参数 var data = {name:"niuzai",info:{age:18,sex:"male"}}; J…
setTimeout第三个参数,可以作为setTimeout延时执行函数的传入参数使用,利用这个设定,我们可以将要延时改变状态的对象传入,变相改变setTimeout的作用对象:这里setTimeout的第三个参数主要得到了除IE外的系列浏览器的支持 一个有趣的例子 var arr = [1,9,2,8,3,7,4,6,4,5]; for(var i = 0, len = arr.length; i < len; i++){ setTimeout(function(x){ console.log…
DB2支持的三种表空间SMS.DMS.DMS的自动存储 DB2中,表空间是数据库与这个数据库中存储的表之间的逻辑层.表空间在数据库中创建,表在表空间中创建.容器是一个物理存储设备.它可以由目录名.设备名或文件名标识.容器被分配给表空间.表空间可以跨许多容器(类似于Oracle中datafile的概念),这意味着可以突破操作系统对于一个容器可以包含的数据量的限制.DB2 支持三种表空间: ·         系统管理的空间(System-Managed Space,SMS):在这里,由操作系统的文…