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

WBOY
풀어 주다: 2016-06-23 14:04:24
원래의
1912명이 탐색했습니다.

下面是一段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
로그인 후 복사

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿