タグ

ブックマーク / kanonji.hatenadiary.com (1)

  • PHPのif文の条件式での代入ではまった件 - kanonji’s diary

    if($foo = false) この様に、if文の条件式で代入する事ができます。 通常、代入されてから条件式が評価されるはずです。 $fooにfalseが代入されているので、この場合は条件式もfalseです。 if($foo = false || true) はまったのは、このケースです。 $foo = falseは同じですが、論理和でtrueがあるので、この条件式は常にtrueとなります。 これはいいんですが、問題は$fooの中身です。 $fooにfalseが入っていると思いきやtrueが入っています。 if($foo = (false || true)) 実は、演算子の優先順位を勘違いしていて、この様に||が先に評価されるのが原因でした。 PHP: 演算子の優先順位 - Manual if($foo = false OR true) ちなみに、||は=よりも優先されますが、ORは=よ

    PHPのif文の条件式での代入ではまった件 - kanonji’s diary
    naoyes
    naoyes 2015/05/26
  • 1