为什么php默认采用NULL为零

时间:2014-12-08 12:39:51

标签: php

 <?php
    $a = NULL;
    $a++;
   echo "a value is $a";
   ?>

输出:   值为1。

<?php
$a = NULL;
echo "a values is $a";
?>

It outputs:
a value is

对此感到困惑..请解释我

2 个答案:

答案 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";
?>

此处不会应用转换,因为它按原样打印。所以那里什么都没打印。