colder Mon Apr 30 17:02:29 2007 UTC
Modified files: /phpdoc/en/language operators.xml Log: Fix #41228 (Mention short-circuit property of some logical operators) http://cvs.php.net/viewvc.cgi/phpdoc/en/language/operators.xml?r1=1.112&r2=1.113&diff_format=u Index: phpdoc/en/language/operators.xml diff -u phpdoc/en/language/operators.xml:1.112 phpdoc/en/language/operators.xml:1.113 --- phpdoc/en/language/operators.xml:1.112 Fri Mar 23 14:09:51 2007 +++ phpdoc/en/language/operators.xml Mon Apr 30 17:02:28 2007 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.112 $ --> +<!-- $Revision: 1.113 $ --> <chapter id="language.operators"> <title>Operators</title> <simpara> @@ -997,6 +997,39 @@ <link linkend="language.operators.precedence">Operator Precedence</link>.) </simpara> + <example> + <title>Logical operators illustrated</title> + <programlisting role="php"> +<![CDATA[ +<?php + +// foo() will never get called as those operators are short-circuit +$a = (false && foo()); +$b = (true || foo()); +$c = (false and foo()); +$d = (true or foo()); + +// "||" has a greater precedence than "or" +$e = false || true; // $e will be assigned to (false || true) which is true +$f = false or true; // $f will be assigned to false +var_dump($e, $f); + +// "&&" has a greater precedence than "and" +$g = true && false; // $g will be assigned to (true && false) which is false +$h = true and false; // $h will be assigned to true +var_dump($g, $h); +]]> + </programlisting> + &example.outputs.similar; + <screen> +<![CDATA[ +bool(true) +bool(false) +bool(false) +bool(true) +]]> + </screen> + </example> </sect1> <sect1 id="language.operators.string">