Tom: Sichere Initialisierung von Variablentypen

Hello,

habe heute gewettet, dass man in PHP Variablen mit einem definierten Typ anlegen kann, ohne sie expliuit zu initialisieren.

Nun würde es mich interessieren, ob die Initialsierung, die da durch die imlizite Instatziierung bei der expliziten Typzuweisung stattfindet, wohl dauerhaft abgesichert ist,

... also, dass z.B. ein intgeger immmer mit 0 initialisiert wird.

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
  1. Hi!

    habe heute gewettet, dass man in PHP Variablen mit einem definierten Typ anlegen kann, ohne sie expliuit zu initialisieren.

    Das war hoffentlich ein Sportwette!

    Nun würde es mich interessieren, ob die Initialsierung, die da durch die imlizite Instatziierung bei der expliziten Typzuweisung stattfindet, wohl dauerhaft abgesichert ist,

    ... also, dass z.B. ein intgeger immmer mit 0 initialisiert wird.

    Wie sollte das denn in einer schwach typisierten Sprache erfolgen?

    Eine nicht initialisierte Variable ist in PHP - AFAIK - immer null - weiterhin kannst Du eine Variable ja auch (z.B:) als int initialisieren, diese später aber anders nutzen.

      
     $var = 1;          // ich bin ein integer  
     $var = 3.32        // jetzt float  
     $var = 'ein ABC';  // my dear: ich bin ein String!  
     $var = array(1,'abc', DEF_LIST); // ach Du ...  
    
    

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Hello,

      habe heute gewettet, dass man in PHP Variablen mit einem definierten Typ anlegen kann, ohne sie expliuit zu initialisieren.

      Das war hoffentlich ein Sportwette!

      Wieso?

      Wie sollte das denn in einer schwach typisierten Sprache erfolgen?

      Der Begriff "schwach typisiert" ist mir zu schwammig.
      Die Variablen werden auch bei impliziter Definition (explizite Deklaration unterbleibt) mit einem Typ belegt.

      Man kann sie aber auch explizit mit einem Typ belegen, ohne sie initialisieren zu müssen.

      ... Fortsetzung folgt ;-)

      Liebe Grüße aus Syburg bei Dortmund

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
  2. echo $begrüßung;

    habe heute gewettet, dass man in PHP Variablen mit einem definierten Typ anlegen kann, ohne sie expliuit zu initialisieren.

    settype($foo, 'int');

    Nun würde es mich interessieren, ob die Initialsierung, die da durch die imlizite Instatziierung bei der expliziten Typzuweisung stattfindet, wohl dauerhaft abgesichert ist,

    Meintest du Wertzuweisung statt Typzuweisung? Oder sollte mit "expliziten Typzuweisung" doch ein settype()-Aufruf gemeint sein?

    ... also, dass z.B. ein intgeger immmer mit 0 initialisiert wird.

    Was für einen Wert sollte ein ge-settype()ter Integer sonst annehmen? Irgendwas, was zuvor im Speicher lag nach int gecastet?

    Schau in die Quellen von PHP, es ist deine Wette ... :-)

    echo "$verabschiedung $name";

    1. Hello,

      Meintest du Wertzuweisung statt Typzuweisung? Oder sollte mit "expliziten Typzuweisung" doch ein settype()-Aufruf gemeint sein?

      Es war der settype()-Aufruf gemeint und mit "dauerhaft abgesichert" meinte ich, ob es wohl auch in der nächsten PHP-Version noch so funktionieren könnte. Im Manual habe ich nichts über das Erzeiugen von Variablen durch settype() gefunden, wusste aber, dass es funktioniert.

      ... also, dass z.B. ein intgeger immmer mit 0 initialisiert wird.

      Was für einen Wert sollte ein ge-settype()ter Integer sonst annehmen? Irgendwas, was zuvor im Speicher lag nach int gecastet?

      Ja, sowas dachte ich mir.

      Schau in die Quellen von PHP, es ist deine Wette ... :-)

      Das habe ich befürchtet. Aber heute ist erstmal Themenwechsel zu C++ dran, da werde ich keine Zeit haben, nachher noch mit PHP zu spielen.

      Liebe Grüße aus Syburg bei Dortmund

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de