php比较2个合作伙伴

时间:2012-04-07 01:14:10

标签: php if-statement

我不知道为什么,但这似乎不起作用。

基本上,如果player1 ($playerX, $playerY)位于距离player2 ($rs[x], $rs[y])

的一个方格内,我希望这是真的
if (($rs[x] > $playerX-2 or $rs[x] < $playerX+2) && ($rs[y] > $playerY-2 or $rs[y] < $playerY+2)) {
    // code

知道我做错了吗?

3 个答案:

答案 0 :(得分:0)

如果替换为某些测试值,则可能会得到:

if( (3 > 5 or 3 < 9) && (13 > 15 or 13 < 19))

显然,这总是如此。

在这种情况下,您应该使用&&代替or

答案 1 :(得分:0)

只是将or替换为and。这是编写奖励积分的if语句的一种更简洁的方式:

if(abs($playerX - $rs[x]) < 2 && abs($playerY - $rs[y]) < 2) {
    // code

答案 2 :(得分:0)

由于OR运算符

,您的条件最终为true
if (($rs[x] > $playerX-2 && $rs[x] < $playerX+2) && ($rs[y] > $playerY-2 && $rs[y] < $playerY+2)) {
   //your code
}