首页  >  文章  >  后端开发  >  连续用 “等号”是什么意思?

连续用 “等号”是什么意思?

WBOY
WBOY原创
2016-06-23 14:04:241908浏览

下面是一段dedecms中的代码:

$dsql=$db=new DedeSql(FALSE)


一个"="号是赋值,

这种连写的方式代表是什么意思呢?


回复讨论(解决方案)

同时赋值
$a = $b = 1;
等价于
$a = 1;
$b = 1;

不过需要注意的是
$dsql=$db=new DedeSql(FALSE)
并不等价于
$dsql = new DedeSql(FALSE);
$db = new DedeSql(FALSE);

前者是两个变量是同一个实例
后者是两个变量各有一个实例

还真没这样用过。

同时赋值
$a = $b = 1;
等价于
$a = 1;
$b = 1;

不过需要注意的是
$dsql=$db=new DedeSql(FALSE)
并不等价于
$dsql = new DedeSql(FALSE);
$db = new DedeSql(FALSE);

前者是两个变量是同一个实例
后者是两个变量各有一个实例
        …… 连续赋值,等号右侧为实例化类,则等号左侧变量的值是同一个实例,对吧?

这种东西需要的不是记忆,而是实践

class T {  public $v = 1;}$a = $b = new T;echo $a->v, ' ', $b->v; //1 1$b->v = 'a';echo $a->v, ' ', $b->v;//a a

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn