background image

PHP 基础:

$_GET[''goods_id'']+0 的使用说明

下面是是对

$_GET['goods_id']+0 的使用进行了详细的分析介绍

目的

:

 为了防止 sql 注入,tid,goods_id 都是正整数类型,防止人为了在后面追加 ?tid=1 or 1 这

样的语句

.

原理

:

 不管你的参数多么险恶,+0 后都老老实实变成数值类型

比如

 '?tid=1 or 1' , $_GET['tid']+0 后值变成 1;

有学生问

,你为什么不用(int)强转或 intval 来转换.

1: 用哪种方式,目的都是一样的
2: 用+0,只需要打 2 个字符,用(int)要打 5 个,intval()要打 8 个.
3: 对于+0,我不需要关心$tid 是整型还是浮点型,还是大于 2^32 的长整型(如 mysql 中取得
bigint), +0 都能适应.
而用强转

,则会发生溢出,当然你可以说,我用 float 来转,那不是还得分情况区别吗.