为什么是;未定义+;x=x";在php中?
如果我们有这个密码为什么是;未定义+;x=x";在php中?,php,types,undefined,Php,Types,Undefined,如果我们有这个密码 echo $a + 1; php返回:注意:未定义的变量:a in…和1 这有点不清楚,对吧?如果$a未定义(并且$a确实未定义),为什么未定义+1=1? 结果可能也是未定义的对吗? 很高兴听到您的意见。不存在的变量的默认值是nullnull转换为数字为00+一个数字就是这个数字。不存在的变量的默认值是nullnull转换为数字为00+一个数字就是这个数字。$a+1给php一个假设$a是int类型的。int的默认值不能是未定义的,它是0。然后,0+1=1$a+1给php一个
echo $a + 1;
php返回:注意:未定义的变量:a in…
和1
这有点不清楚,对吧?如果$a
未定义(并且$a
确实未定义),为什么未定义+1
=1
?
结果可能也是未定义的
对吗?
很高兴听到您的意见。不存在的变量的默认值是
null
null
转换为数字为0
0
+一个数字就是这个数字。不存在的变量的默认值是null
null
转换为数字为0
0
+一个数字就是这个数字。$a+1给php一个假设$a是int类型的。int的默认值不能是未定义的,它是0。然后,0+1=1$a+1给php一个假设$a是int类型的。int的默认值不能是未定义的,它是0。那么0+1=1未定义
与NaN
不同。PHP只是在加法中将其强制转换为0。PHP通知中的英语形容词“undefined”与一些特殊的undefined
值不对应。我不确定你是从哪里得到这样的印象的。PHP中的未定义不像SQL null那样感染它所接触的一切。PHP将发出警告,但随后将未知值键入任何适合正在执行的操作的值。undefined
与NaN
不同。PHP只是在加法中将其强制转换为0。PHP通知中的英语形容词“undefined”与一些特殊的undefined
值不对应。我不确定你是从哪里得到这样的印象的。PHP中的未定义不像SQL null那样感染它所接触的一切。PHP将发出警告,但随后将未知值类型转换为对正在执行的操作合适的值。