In diesem Artikel werden hauptsächlich PHP-Variablen und Datumsverarbeitungsfälle vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
Variablenbezogen
Interne Implementierung von PHP-VariablenDie Systemtypen von Programmiersprachen sind in starke Typen und schwache Typen unterteilt:
Starke Typsprache bedeutet, dass, sobald eine Variable als Variable eines bestimmten Typs deklariert wird, ihr während der Ausführung des Programms kein anderer Wert als der Typ der Variablen zugewiesen werden kann. Sprachen wie c/c++/. Java fällt in diese Kategorie
Skriptsprachen wie PHP, Ruby und Javascript sind schwach typisierte Sprachen: Eine Variable kann jeden Datentyp darstellen
PHP-Variablentypen und SpeicherstrukturenPHP muss seinen Datentyp beim Deklarieren oder Verwenden von Variablen nicht explizit angeben
PHP ist eine schwach typisierte Sprache. Das bedeutet nicht dass PHP keine Typen hat. In PHP gibt es 8 Variablentypen, die in drei Kategorien unterteilt werden können:
Skalartyp: Boolean, Integer, Float, String
Zusammengesetzter Typ: Array, Objekt
Spezieller Typ: Ressource, NULL
Variable SpeicherstrukturDer Wert der Variablen wird in der gezeigten zval-Struktur gespeichert. Ihre Struktur ist wie folgt:
typedef struct _zval_struct zval; struct _zval_struct { zvalue_value value; // 存储变量的值 zend_uint refcount__gc; // 表示引用计数 zend_uchar type; // 变量具体的类型 zend_uchar is_ref_gc; // 表示是否为引用 };
Der Wert der Variablen wird in einer anderen Struktur zvalue_value
Variablentypzval-Struktur Das Typfeld ist das kritischste Feld zur Implementierung schwacher Typen. Der Wert des Typs kann einer der folgenden sein: IS_NULL, IS_BOOL, IS_LONG, IS_DOUBLE, IS_STRING, IS_ARRAY, IS_OBJECT, IS_RESOURCE. Es ist im wahrsten Sinne des Wortes leicht zu verstehen, dass es sich nur um die einzigen Typen handelt, die je nach Typ unterschiedliche Werte im Wertfeld speichern
Speicherung variabler WerteWie bereits erwähnt , der Wert der Variablen wird in der zvalue_value-Struktur gespeichert. Die Struktur ist wie folgt definiert:
typedef union _zvalue_value { long lval; double dval; struct { char *val; int len; } str; HashTable *ht; zend_object_value obj; } _zvalue_value;
Datumsbezogen
<?php /** * 求两个日期之间相差的天数(针对1970年1月1日之后,求之前可以采用泰勒公式) * @param string $day1 * @param string $day2 * @return number */ function diffBetweenTwoDays ($day1, $day2) { $second1 = strtotime($day1); $second2 = strtotime($day2); if ($second1 < $second2) { $tmp = $second2; $second2 = $second1; $second1 = $tmp; } return ($second1 - $second2) / 86400; } $day1 = "2013-07-27"; $day2 = "2013-08-04"; $diff = diffBetweenTwoDays($day1, $day2); echo $diff."\n";
Zusammenfassung: Das ist es. Der gesamte Inhalt dieses Artikels soll für das Studium aller hilfreich sein.
Verwandte Empfehlungen:
Detaillierte Erläuterung der DS-Erweiterung der Datenstruktur in PHP
PHP-Implementierung zum Extrahieren Zeichenfolgen Methode für reguläre Ausdrücke für Mobiltelefonnummern
PHP-Implementierung zum Generieren und Parsen von XML basierend auf SimpleXML
Das obige ist der detaillierte Inhalt vonPHP-Variablen- und Datumsverarbeitungsfälle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!