Jump to content

Assuming very easy question


Go to solution Solved by jcbones,

Recommended Posts

  • Solution

Because $c will always be true if you set it to three, but I think you want to compare it to three.  So you should add another equal sign to that.

 

 

= //assignment
== //comparison
=== //strict comparison

Basically, if you use the assignment operator =, the left-hand argument and the right-hand argument are evaluated, right is assigned to left and the boolean true is returned. So, checking if( $a = 5 ) { ... } is the same as checking if( true ) { ... } which is always run by PHP.

The two equality operators (== and ===) compare the arguments for, well, equality and return true or false, based on the comparison.

You should use the strict equality operator === over the normal equality operator ==, because the normal equality operator will attempt type conversion.

Checking if( "" == false ) { ... } would have the statement become true, so the code will be run, whereas checking if( "" === false ) { ... } will not have the code being run, as no type conversion is performed.

Hope this helped a bit.

the boolean true is returned

 

 

except that's incorrect. the value that was assigned is tested. a value that is equivalent to false will result in the else {} branch being run. give this a try -

if($a = 0){
    echo 'zero';
} else {
    echo 'not zero';
}
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.