Vergleichs"problem"

  • Vergleichs"problem"

    PHP
    <?php
       if("00E0" == "00E1") {
          echo("Equal");
       } else {
          echo("Not equal");
       }
    ?>


    Weiß jemand von euch, wieso der Vergleichsoperator in PHP bei zwei Zeichenketten wie im obigen Beispiel true liefert? (Getestet auf PHP 5.2.5 (cli) mit der Zend Engine v2.2.0 unter FreeBSD und PHP 5.2.6 (cli) mit der Zend Engine v2.2.0 unter Windows). Laut PHP Handbuch sollte PHP die Zeichenketten in diesem Fall als Hexadezimal interpretieren - in dem Fall müsste der vergleich false liefern. Der Vergleich bei expliziter Umwandlung von Hexadezimal auf Dezimal liefert das Ergebniss, das ich erwarten würde ...

    PHP
    <?php
       if(hexdec("00E0") == hexdec("00E1")) {
          echo("Equal");
       } else {
          echo("Not equal");
       }
    
    
    ?>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!