title: Do all programming languages have boolean short-circuit evaluation?
body: <p>In the PHP code </p>
  
  <pre><code>if(a() &amp;&amp; b())
  </code></pre>
  
  <p>when the first operand evaluates to <code>false</code>, <code>b()</code> will not be evaluated.</p>
  
  <p>Similarly, in</p>
  
  <pre><code>if (a() || b())
  </code></pre>
  
  <p>when the first operand evaluates to <code>true</code>, <code>b()</code> will not be evaluated..</p>
  
  <p>Is this true for all languages, like Java, C#, etc?</p>
  
  <p>This is the test code we used.</p>
  
  <pre><code>&lt;?php
  function a(){
  echo 'a';
  return false;
  }
  
  function b(){
  echo 'b';
  return true;
  }
  
  
  if(a() &amp;&amp; b()){
  echo 'c';
  }
  ?&gt;
  </code></pre>