dedlfix: Gültigkeit von Variablen

Beitrag lesen

Tach!

Anscheinend muss man $m in der Methode bla() nicht erst initialisieren?

PHP-Variablen kennen keinen Initialisierungsmechanismus. Sie werden beim ersten (auch lesendem) Gebrauch angelegt.

Ist es dann die korrekte Art die Initialisierung wegzulassen?

Es ist aber trotzdem eine gute Idee, sie gezielt zu initialisieren. Das gilt besonders für Arrays (und Strings), die in einer Schleife gefüllt werden sollen. Falls die Schleife nicht läuft, weil die Bedingung nicht erfüllt ist, gibt es sonst keine Array-Variable (oder String-), wenn sie nicht vorher mit $foo=array(); explizit initialisiert wurde. Die Folge ist dann, dass ein nachfolgender lesender Zugriff mindestens eine Notice-Meldung erzeugt (wird mit auf E_ALL gestelltem error_reporting angezeigt).

Will man über ein nicht initialisiertes und nicht befülltes Array mit foreach iterieren, bekommt man eine Warnng (wenn ich mich recht erinnere). Einfacher Array-Element-Zugriff kann ein unerwartetes Ergebnis liefern, besonders wenn PHP die Variable zu String typecastet oder sie aus einem früheren Gebrauch noch ein String ist. Früherer Gebrauch kann auch eine Fehlerquelle sein, vor allem, wenn man alles im globalen Adressraum ablaufen lässt und nicht mehr dran denkt, dass eine Variable bereits anderswo erzeugt wurde und sie ohne erneute Initialisierung wiederverwendet.

dedlfix.

0 49

Gültigkeit von Variablen

Kenan
  • php
  1. 0
    dedlfix
    1. 0
      T-Rex
      1. 0
        dedlfix
        1. 0

          Gültigkeit von Variablen - Lesbarkeit und Konvention

          tami
          1. 0
            dedlfix
            1. 0
              tami
              1. 0
                dedlfix
                1. 0
                  tami
                  1. 0
                    dedlfix
                    1. 0

                      Lesbarkeit und Konvention in PHP und Javascript

                      tami
                      1. 0
                        dedlfix
                        1. 0
                          tami
                          1. 0
                            dedlfix
                            1. 0

                              Lesbarkeit und Konvention in PHP und Javascript "==" und "==="

                              tami
                              1. 0
                                dedlfix
                                1. 0
                                  tami
                                  1. 0
                                    dedlfix
                                    1. 0

                                      Lesbarkeit und Konvention .- "heile Welt ... zusammenlügen"

                                      tami
                                      1. 0
                                        dedlfix
                                  2. 0
                                    Sven Rautenberg
                                    1. 0
                                      tami
                                      1. 0
                                        tami
                                      2. 1
                                        Sven Rautenberg
                                        1. 0

                                          Wo funktioniert (braucht man) "==" und nicht "==="

                                          tami
                                          1. 0
                                            Matthias Apsel
                                            1. 0
                                              tami
                                            2. 1
                                              Sven Rautenberg
                                              1. 0

                                                "==" auch bei Arrays und Objekten "gefährlich" ...;

                                                tami
                                                1. 0
                                                  dedlfix
                                                  1. 0

                                                    "==" auch bei Arrays und Objekten "gefährlich"/fehleranfällig

                                                    tami
                                                    1. 0
                                                      dedlfix
                                                      1. 0
                                                        tami
                                                        1. 0
                                                          bubble
                                                          1. 0
                                                            tami
                                                            1. 0
                                                              dedlfix
                                                              1. 0
                                                                tami
                                                2. 2
                                                  Sven Rautenberg
                                                  1. 0

                                                    "==" bei Arrays "gefährlich"? Crockford on Programming Style...

                                                    tami
                                          2. 0
                                            Matthias Apsel
  2. 0
    tami
    1. 0
      dedlfix
      1. 0

        Gültigkeit von Variablen - Coding Style

        tami
        1. 0
          dedlfix
          1. 0
            tami
  3. 0
    Sven Rautenberg
    1. 0

      Variablen-Initialisierung mit "null" === Prinzipienbefriedigung?

      tami
      1. 0
        dedlfix
      2. 0
        Sven Rautenberg