请参阅以下代码,这在PHP中完美运行。谁能解释我这段代码的工作原理。因为在下面的代码中我声明了$caregory_id
without semicolon
并且没有任何值减速。然后,此代码也可以正常运行而不会出现任何错误,var_dump($category_id)
会返回null
值。
php如何在没有分号的情况下执行此代码?
<?php
$category_id= //No semicolon
var_dump($category_id); //returns NULL
?>
答案 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');
在开发过程中也建议使用这些设置,因为它们可以捕获在生产机器上未被注意的问题。