Typen in PHP
Wichtige Punkte dieses Kapitels
◆ Verstehen Sie die acht PHP-Typen... Boolean,
◆ NULL, String, Array, Objekt und Ressource
◆ Objekte verschiedener Typen erstellen, lesen, anzeigen und manipulieren
Von einem Typ in einen anderen konvertieren
Alle Programmiersprachen haben bestimmte Diese Typsysteme sind es gewohnt Geben Sie die Arten von Werten an, die in einem Programm erscheinen können. Diese unterschiedlichen Typen entsprechen häufig unterschiedlichen Darstellungsebenen im Computerspeicher, und in vielen Fällen müssen Programmierer die Bitdarstellung nicht berücksichtigen (oder verfügen nicht über die nötige Leistung, um damit umzugehen). Das Typsystem von PHP ist einfach, rational und flexibel und trennt Programmierer von Details auf niedriger Ebene.
In diesem Kapitel erklären wir die grundlegenden PHP-Typen (Ganzzahl, Double, Boolean, NULL, String, Array, Objekt, Ressource) und erklären, wie man liest, wie man ausgibt und anzeigt, wie Variablen zuweisen, konvertieren und kombinieren. Dieses Kapitel ist sowohl eine Einführung als auch ein Referenzmaterial. Personen, die bereits Erfahrung im Programmieren haben, können es jedoch nur lesen, wenn sie nicht damit vertraut sind. Egal, wer sie sind Wenn Sie in Zukunft ein Problem haben, können Sie nicht zurückgehen und nach Details suchen, die zunächst belanglos erscheinen.
Erstes Prinzip: Entspannen Sie sich
PHP erleichtert die Eingabe von Variablen und Werten, da keine Zahlen und Typen angegeben werden müssen und viele Typkonvertierungen durchgeführt werden können .
Der Variablentyp muss nicht zuerst deklariert werden
Wie im vorherigen Kapitel erwähnt, muss der Variablentyp nicht im Voraus deklariert werden. Der Programmierer kann den Operator direkt zur Angabe verwenden der Wert. PHP selbst ist dafür verantwortlich, herauszufinden, um welchen Typ es sich bei dem angegebenen Wert handelt, wie im folgenden Beispiel gezeigt:
$first_number=55.5; all";
Automatische Typkonvertierung
PHP führt bei Bedarf automatisch die Typkonvertierung durch. Wie die meisten heutigen Programmiersprachen kann PHP gut funktionieren, wenn Berechnungen gemischter numerischer Art durchgeführt werden, z. B. der Operationsausdruck
$pi=3+0.14159
Das Ergebnis ist eine doppelte Genauigkeit Vor der Addition wird die ganze Zahl „3“ heimlich in eine Gleitkommazahl umgewandelt.
Konfigurieren Sie Typen basierend auf dem Kontext
PHP geht bei der Durchführung automatischer Typkonvertierungen weiter als die meisten Sprachen. Schauen Sie sich das folgende Beispiel an
$sub=substr (12345 ,2,2);
Print(“sub is $sub
“);
Die Substr-Funktion dient dazu, eine Zeichenfolge als Eingabewert zu verwenden und dann einen bestimmten Wert zurückzugeben Teilzeichenfolge der Zeichenfolge. Der Startpunkt und die Länge der abgerufenen Teilzeichenfolge werden durch die anderen beiden Parameter der Funktion bestimmt. In diesem Beispiel übergeben wir ihm keinen String-Wert, sondern die Ganzzahl 12345. Was wird das Ergebnis sein? Tatsächlich gibt der Browser weiterhin
Sub is 34
aus. Da substr eine Zeichenfolge anstelle einer Ganzzahl erwartet, konvertiert PHP die Zahl 12345 automatisch in The Die Zeichenfolge „12345“ wird abgerufen, und dann kann substr seine eigene Sache erledigen.
Aufgrund dieser automatischen Typkonvertierungsfunktion ist es für PHP schwierig, Fehler in Typen zu machen. Tatsächlich müssen PHP-Programmierer jedoch immer noch darauf achten, dass die gemischte Verwendung von Typen nicht zu „Nein“ führt „Fehler“, aber es ist nicht das korrekte Ergebnis.“
Typzusammenfassung]
PHP hat nur acht Typen ... Boolean, String, Array, Objekt, NULL und Ressource.
* Ganzzahl Der ganzzahlige Teil der Zahl ohne Dezimalpunkt, z. B. 495.
* Gleitkommazahl mit doppelter Genauigkeit, ähnlich 3,14159 oder 49,0 usw.
* Boolean Boolescher Typ, es sind nur zwei Werte möglich, TRUE oder FALSE (wahr oder nicht wahr).
* NULL ist ein spezieller Typ, dessen Wert nur NULL sein kann.
* string Ein String ist eine Folge von Zeichen, ähnlich dem Ausdruck „PHP4 unterstützt String-Operationen“.
* Array Ein Array ist eine Sammlung benannter und indizierter anderer Werte.
* Objektobjekt, eine Instanz einer vom Programmierer definierten Klasse, kann andere Arten von Werten und Funktionen umschließen, die für diese Klasse spezifisch sind
.
* tesource ist eine spezielle Variable, die zum Speichern von Verweisen auf Ressourcen außerhalb von PHP (z. B. Datenbankverbindungen) verwendet wird.
Bitte beachten Sie, dass die Typen Boolean, NULL und Ressource zum PHP4-Typ hinzugefügt wurden, PHP3 jedoch nicht anwenden.
Natürlich sind die ersten fünf Typen Basistypen, während die folgenden beiden Typen (Array und Objekt) zusammengesetzte Typen sind. Diese zusammengesetzten Typen können verwendet werden, um jeden Wert eines beliebigen Typs in einer Gruppe von Variablen zu kombinieren. Bei Basistypen ist dies jedoch nicht der Fall. Wir werden die zusammengesetzten Typen (Array und Objekt) in diesem Kapitel nur kurz beschreiben, da sie in den jeweiligen Kapiteln ausführlich behandelt werden. Schließlich ist der Ressourcentyp ein spezieller Typ, mit dem sich PHP-Designer nicht direkt befassen, sondern spezielle Funktionen verwenden, um auf Ressourcen zuzugreifen oder sie bei Bedarf an andere Funktionen zu übergeben.
Einfache Typen
Die einfachen Typen (Integer, Double, Boolean, NULL und String) in PHP müssen Personen mit Programmiererfahrung vertraut sein (obwohl wir uns nicht an erfahrene Personen richten, aber dennoch müssen sie im Detail erklären). Das Einzige, was C-Programmierer überraschen könnte, ist, wie wenige Typen PHP hat.
Die meisten Programmiersprachen verfügen über mehrere numerische Typen unterschiedlicher Größe. Größere numerische Typen ermöglichen einen größeren Wertebereich, beanspruchen aber auch mehr Speicherplatz. Beispielsweise verfügt die Sprache C über einen Short-Typ (für relativ kleine Ganzzahlen), einen Long-Typ (für potenziell große Ganzzahlen) und einen Int-Typ (der ein Zwischentyp ist, aber tatsächlich entweder ein Short- oder ein Sum-Long-Typ ist). Typ), es gibt auch Gleitkommatypen mit unterschiedlicher Genauigkeit, und die Wahl zwischen Speichernutzung und Funktionalität mag Sie irritieren, aber die Typwahl macht trotzdem Sinn. Den PHP-Entwicklern ist es hervorragend gelungen, dieses Problem zu vereinfachen, indem sie nur zwei numerische Typen verwendet haben, die den Ganzzahl- und Gleitkommatypen in C entsprechen.
Integer-Typ
Integer ist ein einfacher Typ, der einfachen ganzen Zahlen einschließlich positiver und negativer Zahlen entspricht. Ganzzahlen können Variablen zugewiesen werden oder in Berechnungsausdrücken verwendet werden, wie im folgenden Beispiel gezeigt:
$int_var=12345;
$another_int=-12345+12345; //Gleich
Leseformat
Ganzzahlen können tatsächlich auf drei Arten relativ zu verschiedenen Basen gelesen werden: dezimal (Basis 10), oktal (Basis 8) und hexadezimal (Basis 8) für 16 ). Das Dezimalformat ist der Standardwert, die führende Oktalzahl wird mit „0“ angegeben und das führende Hexadezimalformat ist „0x“. Jedem Format kann ein „-“-Zeichen vorangestellt werden, um eine ganze Zahl in eine negative Zahl umzuwandeln. Zum Beispiel:
$integer_10 = 1000;
$integer_8 = -01000;
$integer_16 = 0x1000;
Print(“integer_10:$integer_10
");
Print("integer_8:$integer_8
");
print("integer_16:$integer_16
");
other Die Browserausgabe ist:
integer_10: 1000
integer_8: -512
integer_16: 4096
(Bitte beachten Sie, dass das Leseformat nur Ganzzahlen betrifft ) Wie beim Lesen geändert, erinnert sich der in $integer_8 gespeicherte Wert nicht daran, dass er ursprünglich zur Basis 8 geschrieben wurde. Intern werden diese Zahlen natürlich in binärer Form ausgedrückt, und die endgültige Ausgabe ist die Konvertierung zur Basis 10. da dies standardmäßig gedruckt wird und außerdem die int-Variable in den String-Standardwert eingefügt wird.
Bereich
Wie groß (oder klein) kann eine ganze Zahl sein? Da PHP-Ganzzahlen dem Long-Typ von C entsprechen und dieser Typ von der Wortlänge auf dem von Ihnen verwendeten Maschinensystem abhängt, ist es schwierig, diese Frage eindeutig zu beantworten. Bei den meisten gängigen Systemen ist die größte Ganzzahl jedoch „231-1“ (oder 2.147.483.647) und die kleinste (negative) Ganzzahl ist „-(231-1)“ (oder – 2.147.483.647).
Soweit wir wissen, gibt es derzeit keine PHP-Konstante, die auf die größte Ganzzahl im perfekten Ausdruck hinweisen kann (ähnlich wie MAXINT in der Sprache C). Wenn Sie Fragen haben, lesen Sie bitte den ergänzenden Inhalt unter Wenn Sie wirklich sehr große Ganzzahlen verwenden müssen, finden Sie in PHP einige Funktionen mit beliebiger Genauigkeit. Weitere Informationen finden Sie im Abschnitt „BC“ in Kapitel 12.
double type
double ist eine Gleitkommazahl mit doppelter Genauigkeit, zum Beispiel
$first_double = 123.456;
$second_double = 0.456
$seven_double = 2.0;
Bitte beachten Sie, dass $even_double eine „auf eine Ganzzahl gerundete“ Zahl ist, dies jedoch nicht bedeutet, dass es sich um einen Ganzzahltyp handelt. Obwohl der Ganzzahltyp und der Typ mit mehrfacher Genauigkeit in unterschiedlichen Basisformaten gespeichert sind, ist beispielsweise die folgende Berechnungsformel:
$fünf = $gerade_doppelt+3; das Ergebnis von
ist ein Vielfaches Präzision Typnummer, kein ganzzahliger Typ, auch wenn das aufgelistete Ergebnis „5“ ist. In allen Fällen steht es Ihnen jedoch frei, Gleitkommazahlen mit doppelter Genauigkeit und ganze Zahlen in mathematischen Ausdrücken zu mischen und PHP die Auswahl der zu verarbeitenden Typen zu überlassen.
Standardmäßig werden Vielfache mit der erforderlichen Mindestanzahl an Dezimalstellen aufgelistet, zum Beispiel im Programmcode:
$many = 2.2888800;
$many_2 = 2.2111200;
$few = $many + $many_2;
Print(“$many + $many_2 = $few
“);
Die folgende Ausgabe wird generiert in der Browser:
2.28888 + 2.21112 = 4.5
Wenn Sie die Ausgabeanzeigeergebnisse genauer steuern müssen, lesen Sie bitte die printf-Funktion in Kapitel 10
Format lesen
Das typische Format von Gleitkommazahlen mit doppelter Genauigkeit ist „-X.Y“, wobei „-“ optional ist und zur Angabe negativer Zahlen verwendet wird, X und Y zwischen 0 und 9 liegen. Zahlenfolge. Der X-Teil kann weggelassen werden (wenn die Zahl zwischen -1,0 und 1,0 liegt), und der Y-Teil kann auch weggelassen werden (kein Dezimalpunkt). Die führenden und nachgestellten Nullen können ignoriert werden. Im Folgenden finden Sie Beispiele für effektive Gleitkommazahlen mit doppelter Genauigkeit:
$small_positive = 0.12345;
$small_negative = -.12345
$even_double = 2.00000;
$still_double = 2.;
Zusätzlich kann die doppelte Industrielänge in wissenschaftlicher Notation angegeben werden, indem am Ende des vorherigen Formats Buchstaben mit e multipliziert werden durch eine ganze Zahl von 10, zum Beispiel würde „2.2e-3“ „2.2x10-3“ entsprechen. Der Gleitkommaanteil der Zahl muss nicht streng auf den Bereich zwischen 1,0 und 10,0 beschränkt werden. Alle folgenden Zeilen des Bereichsroutinencodes sind gültig:
$small_positive=5.6-3;
Ptint(“small_positive is $small_postive
“); $ large_positive=2.8e+16;
Ptint(“large_positive ist $large_postive
”);
$small_negative = -2222e-10;
Ptint(“small_negative ist $small_negative
”);
$large_negative=-0.00189e6;
Ptint(“large_negative ist $large_negative
“);
Ihre Ausgabe im Browser ist:
small_positive ist 0,0055
larger_positive ist 2,8e+16
sall_negative ist -2.222e-07
large_negative ist -1890
Beachten Sie, dass PHP wie bei oktalen und hexadezimalen Ganzzahlen Folgendes liest, sobald das Lesen der Zahl abgeschlossen ist: Das Format ist für die vorherigen Variablen irrelevant. Es wird sich nicht daran erinnern, dass es ursprünglich in wissenschaftlicher Notation angegeben wurde. Bei der Ausgabe des gedruckten Werts wird PHP seine eigene Entscheidung treffen, die extremste Größe in wissenschaftlicher Notation zu verwenden, aber das hat nichts mit dem ursprünglichen Leseformat zu tun.
Das Obige ist der Inhalt des PHP-Lernhandbuchs – Kapitel 6. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!