Heim >Backend-Entwicklung >PHP-Tutorial >php5.4 这句 if($a='A'&&1) var_dump($a); 运行结果怎么是 boolean类型

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

WBOY
WBOYOriginal
2016-06-06 20:40:141156Durchsuche

版本php5.4
这段代码:

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

运行结果:

<code>bool(true)
</code>

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

回复内容:

版本php5.4
这段代码:

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

运行结果:

<code>bool(true)
</code>

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

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

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

<code>('A' && 1) === 1
('A' || 1) === 'A'
</code>

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn