Logic or problem one! Solution Solutions

Source: Internet
Author: User
Logic or problem one!!
$a = 0;
$b = 0;
if ($a =3 | | $b =3) {
$a + +;
$b + +;
echo $a. ', '. $b; Output

His explanation is $ A = (3 | | $b = 3).
This explanation is right?
In addition | | What is the meaning? --I can't find Baidu.

if | | The front is true, and the back is executed--.

Foundation is not good, forgive me!!

operator | | is logical OR, = is an assignment operator, from the operator precedence defined by PHP, the operator | | is greater than operator =, so
($a = 3 | | $b = 3) This expression will be evaluated first | | operator. | | is a two-dollar operator, and either side is true, the result of the operation is true, and the expression is evaluated first (3 | | A value of $b = 3), and then assign the value to $ A. And in PHP, 3 > 0, so | | The result on the left side of the operator is true, the right ($b = 3) You can ignore because there is already one side for true, so (3 | | The result of $b = 3) is true,
Then assign true to $ A, $a = true.
  • Related Article

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.