解释这段代码在PHP中是如何工作的?

时间:2013-04-04 07:54:10

标签: php

请参阅以下代码,这在PHP中完美运行。谁能解释我这段代码的工作原理。因为在下面的代码中我声明了$caregory_id without semicolon并且没有任何值减速。然后,此代码也可以正常运行而不会出现任何错误,var_dump($category_id)会返回null值。

php如何在没有分号的情况下执行此代码?

<?php
    $category_id= //No semicolon
    var_dump($category_id); //returns NULL
?>

1 个答案:

答案 0 :(得分:13)

它的工作原理是因为PHP会像这样处理你的代码:

$category_id = var_dump($category_id);

var_dump()的返回值已分配给$category_id。 PHP中的未定义变量隐式设置为null,这是您在var_dump()的输出中看到的。但是,您也会收到关于$category_id未定义的通知;如果你没有看到它,你应该在你的脚本中使用这个代码:

error_reporting(-1);
ini_set('display_errors', 'On');

在开发过程中也建议使用这些设置,因为它们可以捕获在生产机器上未被注意的问题。