首頁  >  文章  >  後端開發  >  连续用 “等号”是什么意思?

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

WBOY
WBOY原創
2016-06-23 14:04:241857瀏覽

下面是一段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