title: Does the print construct behave differently when using parentheses?
body: <p>I am not sure if parentheses make difference or I am doing something wrong!
  Here is a situation I accidentally encountered.. </p>
  
  <pre><code> print (FALSE or TRUE);     //prints '1'
   print FALSE or TRUE;       //prints nothing
  </code></pre>
  
  <p>We know that <code>FALSE or TRUE</code> evaluates to <code>TRUE</code>, but surprisingly, printing <code>TRUE</code> is not affected by parentheses! </p>
  
  <pre><code>  print (TRUE);     //prints '1'
    print TRUE;       //prints '1'
  </code></pre>
  
  <p>The manual mentions clearly that using parentheses is not required! Here is a quote from the manual..</p>
  
  <blockquote>
    <p>print is not actually a real function (it is a language construct) so you are not required to use parentheses with its argument list.</p>
  </blockquote>
  
  <p><strong>What I want to know ..</strong></p>
  
  <ul>
  <li>Is it a bug?</li>
  <li>If it is not a bug, how do parentheses affect the output?</li>
  <li>Which way gives expected output, using parentheses or omitting them?</li>
  </ul>
  
  <p><em>I am using PHP Version 5.4.7 on Windows 8.</em></p>
  
  <p>Thanks!</p>