Rumah > pembangunan bahagian belakang > tutorial php > php5.4 这句 if($a='A'&&1) var_dump($a); 运行结果怎么是 boolean类型

php5.4 这句 if($a='A'&&1) var_dump($a); 运行结果怎么是 boolean类型

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-06 20:40:14
asal
1182 orang telah melayarinya

版本php5.4
这段代码:

<code>if($a='A'&&1) var_dump($a);
</code>
Salin selepas log masuk
Salin selepas log masuk

运行结果:

<code>bool(true)
</code>
Salin selepas log masuk
Salin selepas log masuk

Q:结果为什么不是 string 'A' ?

回复内容:

版本php5.4
这段代码:

<code>if($a='A'&&1) var_dump($a);
</code>
Salin selepas log masuk
Salin selepas log masuk

运行结果:

<code>bool(true)
</code>
Salin selepas log masuk
Salin selepas log masuk

Q:结果为什么不是 string 'A' ?

因为&&是逻辑运算符,=是赋值运算符,前者的优先级比后者要高。明白了吗?

&& 符号有限级高于 =,所以表达式其实是这样的 $a = ('A' && 1)
php中 &&|| 运算符返回的都是布尔值。 不像js
在js 中

<code>('A' && 1) === 1
('A' || 1) === 'A'
</code>
Salin selepas log masuk

额,楼主,php4都是这个结果

Label berkaitan:
php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan