为什么PHP代码的功能与Python代码不同?

时间:2017-10-19 14:19:01

标签: php python computer-science

PHP程序

$x = (False or 123)
echo $x

python代码

x= (False or 123)
print(x)

在php中,答案是1,而python答案是123

为什么?

2 个答案:

答案 0 :(得分:1)

Python 0 => array( 0 => 1 1/2 1 => ⅛ 2 => 1-2 ) ) and执行“麦卡锡评估”,返回最后一个值,请参阅https://stackoverflow.com/a/22598675/196206Wikipedia

PHP也会进行短路评估,但始终只返回一个布尔值:http://php.net/manual/en/language.operators.logical.php

答案 1 :(得分:-1)

PHP:$ x =(False或123)。 False为false(!),123为true,false或true == true,因此$ x为true(或打印时为1。

Python:先执行或操作,然后将结果赋给x。 int(False)是0,int(123)是123,所以得到123.在Python中,有一个技巧,或者返回值是使其成为真的值,而不是布尔结果。看这个页面:  http://www.diveintopython.net/power_of_introspection/and_or.html