php $t1 $t2
如图:
我并没有声明 $t1 和 $t2 两个变量
为什么它可以使用?没有任何报错,手册上也没说为什么
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如图:
我并没有声明 $t1 和 $t2 两个变量
为什么它可以使用?没有任何报错,手册上也没说为什么
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
list 函数的作用就是把数组中的值赋给一些变量,比如:
list($a, $b, $c) = array(1, 2, 3);
那么$a的值就是1,$b和$c的值就是2和3
list($t1,$t2)
上面的意思的将右边的数组的键值依次值给$t1 $t2
先上图:
手册说的很明白,把数组中的值赋给一组变量。
你的问题:
所以我理解你的问题想表达两方面意思:
没有声明变量
使用没有声明的变量不报错
针对第一点,PHP是弱类型语言,而且变量不需要在使用之前声明,你也可以理解为给变量赋值的时候同时声明(初始化)了变量。那么,list的用法手册已经说的很清楚,将数组中的值赋给一组变量,也就是你运行完
list($t1, $t2) = explode(' ', microtime())
的时候,已经给$t1
和$t2
赋值成功。针对第二点,对于没有声明的变量(也就是没有初始化的变量),使用的话当然报错。你可以试试直接
echo $undefined;
,$undefined
第一次出现在这里,不出意外情况,肯定报个Notice
级别的错误(请首先正确设置错误级别以及显示错误)。所以你第二条疑问不是使用了未声明的变量不报错,而是你使用了
list()
已经帮你赋值过的变量了。望采纳!谢谢。
======= Update ======
上面图片也标注了PHP版本对于list()的使用区别,使用时请注意!