首页 / PHP / PHP中未初始化的变量
PHP中未初始化的变量
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP中未初始化的变量,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1498字,纯文字阅读大概需要3分钟。
内容图文
![PHP中未初始化的变量](/upload/InfoBanner/zyjiaocheng/774/7b2248e1107244fd8e60d341c274dd72.jpg)
It is not necessary to initialize variables in PHP however it is a
very good practice. Uninitialized variables have a default value of
their type depending on the context in which they are used – booleans
default to FALSE, integers and floats default to zero, strings (e.g.
used in echo) are set as an empty string and arrays become to an empty
array.
我正在玩未经初始化的高尔夫变量,但该计划没有达到我的预期.经过检查,我注意到这种奇怪的行为(所有使用的变量都是未初始化的):
php > $a = $a + 1;
PHP Notice: Undefined variable: a in php shell code on line 1
php > $b = $b - 1;
PHP Notice: Undefined variable: b in php shell code on line 1
php > $c++;
PHP Notice: Undefined variable: c in php shell code on line 1
php > $d--;
PHP Notice: Undefined variable: d in php shell code on line 1
php > var_dump($a);
int(1)
php > var_dump($b);
int(-1)
php > var_dump($c);
int(1)
php > var_dump($d);
NULL
1, – 1,按照手册中的说明进行操作.但是, – 没有.
之后,$a,$b和$c可用于计数.但是$d–;,不会改变$d的值,因为$d是NULL.
为什么$d设置为NULL,而不是-1?
使用前缀运算符产生相同的结果,顺便说一下:对于$v,变量设置为1;但对于 – $v;为NULL
解决方法:
从manual:
Note: …Decrementing NULL values has no effect too, but incrementing them results in 1.
因此,unitialized变量获得NULL值.递增此值得到1(为NULL 1).但是,如文档中所述,尝试递减没有效果.
此外,相关主题还有一个非常的good explanation.
这似乎违反直觉,但它是该语言的打字模型的结果.因此,为了避免这种行为,请始终遵循良好实践:始终初始化变量并注意非数值的算术运算.
内容总结
以上是互联网集市为您收集整理的PHP中未初始化的变量全部内容,希望文章能够帮你解决PHP中未初始化的变量所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。