PHP从数据库取出来的数据是什么类型

今天有段代码做的事情是:1.从数据库读数据  2.判断值,根据判断结果处理后面的业务逻辑

step1: 从数据库读出的字段:表$table_name中,Id的字段数据类型是int

    select Id from $table_name

    $id = $value['Id'];


step2: 判断值: if($id === 1){ ....}

由于后面的逻辑没有执行,我将$id打印出来,的确值是1

然后我就做了每一个程序员都会做的事情:就是否认现实——这个怎么会错啊,这个明明就是这样的啊,这不可能啊(在这其中一直乐此不疲~)。百思不得其解,我终于开始各种怀疑了,然后就看到了它:===,恒等号,于是我忐忑的试了一下:gettype($id),竟然返回的是:string!所以PHP里,从数据库取出来的值做判断的时候用===要慎重。然后的然后,问题解决了

我去问了大神,大神说php本来就是弱类型语言,一句select 返回的数据,没有人规定他要是什么类型,唉,任性啊。。bug找了这么久,就这样被打发了。。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值