<?php
$a = NULL;
$a++;
echo "a value is $a";
?>
输出: 值为1。
<?php
$a = NULL;
echo "a values is $a";
?>
It outputs:
a value is
对此感到困惑..请解释我
答案 0 :(得分:1)
这是PHP的Type Casting
http://php.net/manual/en/language.types.type-juggling.php
PHP会根据操作自动更改变量类型。
<强>解释强>
您的代码
<?php
$a = NULL; // $a is NULL
$a++;
?>
但是,增量++
仅适用于整数值,因此当您编写$a++
时,它会自动将$a
转换为整数,因为它是NULL
,它是设置为0
然后递增。
答案 1 :(得分:0)
For -
<?php
$a = NULL;
$a++;
echo "a value is $a";
?>
执行此操作时,$a
首先转换为integer
,并在其中包含值0
,因为它包含NULL
。因此它将1
打印为值。
For -
<?php
$a = NULL;
echo "a values is $a";
?>
此处不会应用转换,因为它按原样打印。所以那里什么都没打印。