vrana Fri Aug 6 15:13:20 2004 EDT
Modified files: /phpdoc/en/language operators.xml Log: Comparison of numerical strings (bug #23110) http://cvs.php.net/diff.php/phpdoc/en/language/operators.xml?r1=1.77&r2=1.78&ty=u Index: phpdoc/en/language/operators.xml diff -u phpdoc/en/language/operators.xml:1.77 phpdoc/en/language/operators.xml:1.78 --- phpdoc/en/language/operators.xml:1.77 Mon Aug 2 06:54:00 2004 +++ phpdoc/en/language/operators.xml Fri Aug 6 15:13:20 2004 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.77 $ --> +<!-- $Revision: 1.78 $ --> <chapter id="language.operators"> <title>Operators</title> <simpara> @@ -461,6 +461,32 @@ </tbody> </tgroup> </table> + <para> + If you compare integer with the string, the string is + <link linkend="language.types.string.conversion">converted to number</link>. + If you compare two numerical strings, they are compared as integers. These + rules are valid also for the + <link linkend="control-structures.switch">switch</link> statement. + <informalexample> + <programlisting role="php"> +<![CDATA[ +<?php +var_dump(0 == "a"); // 0 == 0 -> true +var_dump("1" == "01"); // 1 == 1 -> true + +switch ("a") { +case 0: + echo "0"; + break; +case "a": // never reached because "a" is already matched with 0 + echo "a"; + break; +} +?> +]]> + </programlisting> + </informalexample> + </para> <para> Another conditional operator is the "?:" (or ternary) operator. <informalexample>