数值字段上的 $_POST['v1'] 和 $_POST[v1] 之间的差异


Difference between $_POST['v1'] and $_POST[v1] on numeric fields

我想有这个表:

CREATE TABLE noSense(
id int,
name Varchar(25),
v1 int
);

如果我在 php 中使用 post 方法,如果 v1 是一个数值字段,$_POST['v1'] 和 $_POST[v1] 有什么区别?

'v1'是一个

字符串,是一个有效的数组键,希望指向像<input ... name="v1" />这样的表单元素。

另一方面,v1可能什么都没有,并且会抛出E_NOTICE,也会导致您的代码什么都不做。 但是,可以使用define()v1一个值,但从您的问题来看,这在很大程度上是无用的。 更有可能的是,您希望使用 $_POST['v1'] .

$_POST返回文本字符串。因此,如果您尝试将帖子值另存为数字,则必须将该字符串转换为数字;您可以使用intval