Wir haben uns im vorherigen Teil des Tutorials mit den Grundsätzen von Variablen beschäftigt. Dieses Kapitel des Tutorials schließt genau dort an, wo das letzte aufgehört an: Bei dem Zuweisungsoperator.
Mehrere Werte hinter dem Zuweisungsoperator
Wie erfahrene Programmier vielleicht wissen, können auf der rechten Seite des Zuweisungsoperators mehr als ein Wert steht. Doch bevor wir damit anfangen, stellt sich logischerweise erst einmal die Frage, was hier ein Wert darstellt. Einen Wert stellen in diesem Fall jegliche Variable [wie wir bereits gelernt haben, können Variablen auch mit Werten bereits definierter Variablen gefüllt werden] und jeglicher statischer elementarer Wert [letzten Endes genau das, womit Variablen normalerweise auch gefüllt werden könnte, statisch bedeutet in diesem Fall, dass er fest in den Quelltext geschrieben ist]. Dabei darf nicht vergessen werden, dass Funktionen [die bereits kurz erwähnt wurden, und in einem der nächsten Kapitel noch genauer behandelt werden] auch Werte zurückgeben können.
<?php $number = 20 / 10; // int -> 2 $phpinfo = phpinfo(); // string -> phpinfo() $date = time() + 120; // int -> Akt. Zeit als // Zeitstempel // + 60 sec $float = 10.1 + 14.4; // float -> 14.5 $text = "Hallo "."Welt"; // string -> Hallo Welt ?>
Im obrigen Beispiel kommen die meisten üblichen Variationen vor. Die ersten Variable wird mit dem Ergebnis aus 20 geteilt durch 10 gefüllt [das mathematische Zeichen für das Dividieren in der Programmierung ist / ], die zweite Variable wird mit dem Rückgabewert der Funktion phpinfo() gefüllt, die dritte Varible mit dem aktuellen Zeitstempen zu dem 60 Sekunden addiert werden. Die vierte Variable wird mit der Summe von 10.1 und 14.4 gefüllt und die letzte wird mit dem Wert 'Hallo ' und 'Welt' gefüllt [hier sieht man bereits eine Besonderheit von PHP, die im nächsten Kapitel noch ausführlich besprochen werden wird - in PHP verwendet man einen Punkt '.' zum Verbinden von Zeichenketten / Strings].
Variablen in anderen Datentyp konvertieren
PHP ist eine nicht typisierte Programmiersprache, d.h. wir müssen - wie bereits erwähnt - bei der Initalisierung von Variablen keinen Datentyp angeben. Was passiert jetzt jedoch, wenn wir nach dem Berechnen einer Zahl die Zahl, die eigentlich ein float, d.h. eine Dezimalzahl darstellt, ohne Nachkomma stelle haben wollen. Die einfachste Methode ist es, die Variable einfach in den Datentyp int zu konvertieren, da so automatisch die Nachkommastellen verloren gehen [int -> Ganzzahl]. Zwar sind Typenkonvertierungen sehr selten notwendig, da PHP falls nötig die Variablen meistens selbst in den richtigen Datentyp konvertiert, allerdings gibt es einige wenige Ausnahmen, daher möchte ich die Typenkonvertierung in diesem Kapitel auch erwähnen.
<?php $float = 22.3 / 10.0; // float -> 2.23 $int = (int) $float; // int -> 2 $number = (int) 22.3 / 10.0; // int -> 2 $float = 11.09; // float -> 11.09 $string = (string) $float; // string -> '11.09' ?>
An dem obrigen Beispiel kann man erkennen, wie simpel es ist, in PHP Typen zu konvertieren. Man schreibt einfach den Namen des gewünschten Types in Klammer nach den Zuweisungsoperator und vor die zuzuweisenden Werte. Man sieht hier auch an der Variable $number, das es völlig egal ist, ob der Wert eine Variable, ein direkter Wert oder eine Berechnung darstellt. Wie bereits erwähnt, ist es allerdings normalerweise nicht notwendig, die Typen zu konvertieren, wie man an dem folgenden Beispiel erkennen kann:
<?php $var = '0'; // $var enthält den String 0 $var = $var + 3; // $var wird zur Integer // konvertiert und um 3 erhöht echo 'The number '.$var; // $var wird zum String konvertiert // und ausgegeben ?>
Man sieht an diesem Beispiel sehr gut, das PHP die Variablen selbstständig in den nötigen Datentyp konvertiert. Auch bei der Übergabe von Parametern an Funktionen [mehr dazu später] versucht PHP selbstständig die Werte zu konvertieren. Es gibt nur sehr, sehr wenige Anwendungsgebiete, in denen man auf die Typenkonvertierung zurückgreifen musst.
[Copyright 2009-2010 by Robin Rump, robinrump.com. All rights reserved. Do not copy, edit or publish without asking author.]
sooooviel mathe
oder ich hatte heute einfach zu lange schule. eventuell verstehe ich es heute abend..
Wie gesagt, ich stehe für Fragen gerne zur Verfügung.
“ie ersten Variable wird mit dem Ergebnis aus 20 geteilt durch 10 gefüllt [das mathematische Zeichen für das Dividieren in der Programmierung ist / ], die zweite Variable wird mit dem Rückgabewert der Funktion phpinfo() gefüllt, die dritte Varible mit dem aktuellen Zeitstempen zu dem 60 Sekunden addiert werden. Die vierte Variable wird mit der Summe von 10.1 und 14.4 gefüllt und die letzte wird mit dem Wert ‘Hallo ‘ und ‘Welt’ gefüllt”
muss man das immer so einfügen oder sind das nur beispielzahlen/wörter? und wenn man das mit z.b. 20/10 immer machen muss, warum?
Alle Werte rechts vom Zuweisungsoperator (-> dem Gleichheitszeichen) sind Beispiele.
20 / 10 bedeutet nichts als 20 geteilt durch 10.
Das / ist das Zeichen inder Programmierung für den Doppelpunkt : . Dies ist nur ein Beispiel, die erste Variable wird mit dem Ergebnis aus 20 geteilt durch 10 gefüllt.
Du könntest auch 5 + 7 schreiben, dann wird sie mit diesem Ergebnis gefüllt.
Mehr zum Rechnen in PHP kommt später auch noch, dass nur als Einschub. Soweit klar?
ja..
Sicher?