tami: typensicherer Vergleiche, PHP wie Javascript

Beitrag lesen

hi Felix,

Liebe Mitlesende,

Heute bin ich in PHP wieder über den Vergleichsoperator gestolpert:

$key = 0;

if ($key != 'new') {
    // kommt nicht an
}


>   
> Natürlich war die Lösung wieder der typsichere Vergleichsoperator mit dem extra Istgleichzeichen:  
>   
> ~~~php

$key = 0;  

> if ($key !== '*new*') {  
>     // kommt jetzt an  
> }

Warum ist denn eine Ganzzahl null einem Stringwert gleichzusetzen? Wird jetzt zuerst der String in eine Zahl umgewandelt (im Sinne von abs('*new*')?), oder wird irgendwie anders umgewandelt, um die beiden Werte zu vergleichen?

Es macht m.E. keinen Sinn, typenlos zu vergleichen: http://forum.de.selfhtml.org/archiv/2013/10/t215185/#m1473919.

Es ist und bleibt, wie man hier auch sieht, immer fehleranfällig. Und man muss die ganze Typecastabelle auswendig und richtig können ...;

mfg

tami

0 80

PHP-Facepalm meines Tages: 0 == '*new*'

Felix Riesterer
  • menschelei
  1. 0
    dedlfix
  2. 0

    typensicherer Vergleiche, PHP wie Javascript

    tami
    • programmiertechnik
    1. 0
      dedlfix
      1. 0
        Felix Riesterer
        1. 1
          Christian Kruse
        2. 0
          dedlfix
        3. 0
          Tara
      2. 0
        tami
        1. 0
          dedlfix
          1. 0
            tami
  3. 0
    Der Martin
    1. 0
      Encoder
      1. 0
        dedlfix
        1. 0
          Whouzuo
          1. 3
            Tara
            1. 0
              tami
              1. 0
                Tara
                1. 0

                  Programmiersprachen sind keine Autos

                  tami
                  1. 0
                    Whouzuo
                    1. 0
                      Der Martin
                      1. 0
                        Whouzuo
                    2. 0

                      Schüler können kommunizieren - auch auf Englisch

                      Felix Riesterer
                      • meinung
                      1. 0
                        Whouzuo
                    3. 0
                      tami
                      1. 0
                        Whouzuo
                        1. 0
                          tami
                2. 0
                  M.
            2. 0
              M.
              1. 0
                Auge
                1. 0
                  Matthias Apsel
                  1. 0
                    Auge
              2. 0
                Der Martin
                1. 0
                  M.
                  1. 0
                    Matthias Apsel
                    1. 0
                      M.
                      1. 0
                        Christian Kruse
                        1. 0
                          Tabellenkalk
                      2. 0

                        PHP - nutze die guten Seiten und nutze Frameworks mit Modulen

                        tami
                        1. 0
                          M.
                        2. 0
                          Linker Setzer
                        3. 0
                          Whouzuo
                          1. 0
                            tami
                            1. 0
                              Whouzuo
                              1. 0
                                tami
                                1. 0
                                  Whouzuo
                                  1. 0
                                    M.
                                    1. 0
                                      Whouzuo
                                      1. 0
                                        M.
                                        1. 0
                                          Whouzuo
                                          1. 0
                                            M.
                                            1. 0
                                              Whouzuo
                                              1. 0
                                                M.
                                                1. 0
                                                  Whouzuo
                                                  1. 0
                                                    M.
                                                    1. 0
                                                      Whouzuo
                                                      1. 0
                                                        M.
                                                      2. 0
                                                        Der Martin
                                                        1. 0
                                                          Whouzuo
                                                          1. 0
                                                            M.
                          2. 0
                            M.
                            1. 0
                              Whouzuo
                              1. 0
                                M.
                                1. 0
                                  tami
                                  1. 0
                                    M.
                                    1. 0

                                      Texteditor "vs." IDE

                                      tami
                                      1. 0
                                        M.
                                2. 0
                                  Whouzuo
                                  1. 0
                                    M.
                                    1. 0
                                      Whouzuo
                                      1. 0
                                        M.
                      3. 1
                        Sven Rautenberg
                        1. 0
                          MudGuard
                        2. 0
                          M.
                          1. 0
                            Sven Rautenberg
                            1. 0
                              M.
                              1. 0
                                Matti Mäkitalo
                  2. 0
                    Der Martin
              3. 0
                1UnitedPower
        2. 0
          Encoder