开发者

Why 0 || 1 returns true in php?

In Javascript and Python, 0 || 1 returns开发者_开发问答 1.

But in PHP, 0 || 1 returns true.

How to do if I want 0 || 1 return 1 in PHP?

another example,

$a is array(array('test'))

I want $a['test'] || $a[0] || array() return array('test'), How to do?


The other answers appear to only care about converting boolean to an integer. I think you really want for the second value to be the result if the first is falsy (0, false, etc.)?

For the other languages' behaviour, the closest we have in PHP is the short-hand "ternary" operator: 0?:1.

That could be used in your script like: $result = get_something() ?: 'a default';

See the ternary operator documentation for details.


Because 0 || 1 is a boolean expression, it assumes you want a boolean result.

You can cast it to an int:

echo (int)(0 || 1);


In PHP the operator || returns a boolean, either true or false.

What you probably want is something like this: $result = (0 || 1) ? 1 : 0;


You could use

(0 || 1) ? 1 : 0


if(0||1)
    return 1;
else return 0;


Cast the result to int ;P (int)(0 || 1)

Although it will work only for 1. (int)(0 || 2) will return 1 as well.


You can use casting to integer

echo (int)(0||1);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜