php - 为什么回显带有未设置变量的表达式会打印 0?

标签 php

我发现了这个奇怪的行为:

$a = $b + $c;
echo $a; //prints 0

此时打印 0:

$a = $b;
echo $a; //doesn't print anything  

不打印任何东西。
是否可以用有意义的方式解释?

最佳答案

这是类型杂耍的副作用。 undefined variable $b$c 等同于 null。在 PHP 中,$a = null + null 等价于 $a = (int) null + (int) null$a = 0 相同+ 0。这就是 $a 等于 0 的原因。

因此 $a = $b$a = null 相同,所以当您 echo $a 时,什么都没有打印出来。

这是解释类型杂耍的不错引用 - http://php.net/manual/en/language.types.type-juggling.php

关于php - 为什么回显带有未设置变量的表达式会打印 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066842/

相关文章:

php - 如何在不越狱的情况下在 iOS 上托管 PHP 脚本?

javascript - 如何检测 iframe 是否已从一个 URL 移动到另一个 URL

php - 为 laravel 中日期时间格式的字段返回 unix 时间戳格式

php - 计算每个用户两个时间戳之间的总时间

php - 带有 "WHERE title like %post%"的 MySQL 查询返回一个空结果集

php - Silex-Twig_Error_Syntax : The function "path" does not exist

php - 待办事项应用程序 : foreign key usage Laravel

php - 使用 GROUP BY、HAVING、COUNT、ORDER BY 和 2 个表更快地编写此 MySQL 查询的方法

php - 从下拉列表中选择多个项目并发送到数据库

php - 如何在 codeigniter 中获取用户列表?