Я всегда думал, что операторы "||" и «or» в пхп работают одинакого.
Судя по
документации, они действительно должны работать одинакового, за исключением приоритетов.
Однако
$x = 0 || 1
и
$x = 0 or 1
в действительности работают по разному.
Код:
<?php
function foo(){
print "foo";
return 0;
}
function bar(){
print "bar";
return 1;
}
$x = foo() or bar();
var_dump($x);
Данный код выводит результат:
foobarint(0)
Кто-нибудь может объяснить данное поведение?