Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Any non-empty string evaluates to true and an empty string evaluates to false. The following script might shed some light for you:</p> <pre><code>&lt;?php if('true' == true) { echo "'true' == true"; } else { echo "'true' != true"; } echo '&lt;br /&gt;'; if('false' == true) { echo "'false' == true"; } else { echo "'false' != true"; } echo '&lt;br /&gt;'; if('foo' == true) { echo "'foo' == true"; } else { echo "'foo' != true"; } echo '&lt;br /&gt;'; if('false' == false) { echo "'false' == false"; } else { echo "'false' != false"; } echo '&lt;br /&gt;'; if('' == true) { echo "'' == true"; } else { echo "'' != true"; } echo '&lt;br /&gt;'; if('' == false) { echo "'' == false"; } else { echo "'' != false"; } ?&gt; </code></pre> <p>Here is the output:</p> <pre><code>'true' == true 'false' == true 'foo' == true 'false' != false '' != true '' == false </code></pre> <p>As requested, here are some more examples comparing == with === for various values.</p> <pre><code>&lt;?php echo "&lt;b&gt;'true' vs. true&lt;/b&gt;&lt;br /&gt;"; if('true' == true) { echo "'true' == true&lt;br /&gt;"; } else { echo "'true' != true&lt;br /&gt;"; } if('true' === true) { echo "'true' === true&lt;br /&gt;"; } else { echo "'true' !== true&lt;br /&gt;"; } echo "&lt;br /&gt;&lt;b&gt;'false' vs. true&lt;/b&gt;&lt;br /&gt;"; if('false' == true) { echo "'false' == true&lt;br /&gt;"; } else { echo "'false' != true&lt;br /&gt;"; } if('false' === true) { echo "'false' === true&lt;br /&gt;"; } else { echo "'false' !== true&lt;br /&gt;"; } echo "&lt;br /&gt;&lt;b&gt;1 vs. true&lt;/b&gt;&lt;br /&gt;"; if(1 == true) { echo "1 == true&lt;br /&gt;"; } else { echo "1 != true&lt;br /&gt;"; } if(1 === true) { echo "1 === true&lt;br /&gt;"; } else { echo "1 !== true&lt;br /&gt;"; } echo "&lt;br /&gt;&lt;b&gt;0 vs. false&lt;/b&gt;&lt;br /&gt;"; if(0 == false) { echo "0 == false&lt;br /&gt;"; } else { echo "0 != false&lt;br /&gt;"; } if(0 === false) { echo "0 === false&lt;br /&gt;"; } else { echo "0 !== false&lt;br /&gt;"; } echo "&lt;br /&gt;&lt;b&gt;1 vs. 'true'&lt;/b&gt;&lt;br /&gt;"; if(1 == 'true') { echo "1 == 'true'&lt;br /&gt;"; } else { echo "1 != 'true'&lt;br /&gt;"; } if(1 === 'true') { echo "1 === 'true'&lt;br /&gt;"; } else { echo "1 !== 'true'&lt;br /&gt;"; } echo "&lt;br /&gt;&lt;b&gt;empty string '' vs. false&lt;/b&gt;&lt;br /&gt;"; if('' == false) { echo "'' == false&lt;br /&gt;"; } else { echo "'' != false&lt;br /&gt;"; } if('' === true) { echo "'' === false&lt;br /&gt;"; } else { echo "'' !== false&lt;br /&gt;"; } ?&gt; </code></pre> <p>Output:</p> <p><strong>'true' vs. true</strong></p> <pre><code>'true' == true 'true' !== true </code></pre> <p><strong>'false' vs. true</strong></p> <pre><code>'false' == true 'false' !== true </code></pre> <p><strong>1 vs. true</strong></p> <pre><code>1 == true 1 !== true </code></pre> <p><strong>0 vs. false</strong></p> <pre><code>0 == false 0 !== false </code></pre> <p><strong>1 vs. 'true'</strong></p> <pre><code>1 != 'true' 1 !== 'true' </code></pre> <p><strong>empty string '' vs. false</strong></p> <pre><code>'' == false '' !== false </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload