Heim > Artikel > Backend-Entwicklung > Erläuterung der benutzerdefinierten PHP-Funktionen und internen Funktionen
1. Variablenbereich
wird auch als Gültigkeitsbereich einer Variablen bezeichnet. Der Gültigkeitsbereich einer Variablen ist der Kontext, in dem sie definiert ist (auch ihr effektiver Gültigkeitsbereich). . Dieser einzelne Bereich Der Bereich umfasst auch Dateien, die durch include und require eingeführt wurden.
globales Schlüsselwort: Sie können das globale Schlüsselwort innerhalb der Funktion verwenden, um auf globale Variablen
oder über $GLOBALS und andere superglobale Arrays
zuzugreifen. Zum Beispiel:
$str = 'xxxx'; function test(){ //方法一: global $str; echo $str; //方法二 //echo $GLOBALS['str'] }2. Statische Variablen
Statische Variablen existieren nur im lokalen Funktionsbereich, aber ihre Werte verschwinden nicht, wenn die Programmausführung diesen Bereich verlässt
statisches Schlüsselwort
Nur einmal initialisiert
Während der Initialisierung muss ein Wert zugewiesen werden
Der Wert bleibt bei jeder Ausführung der Funktion erhalten
Die durch statische Variable geänderte Variable ist lokal und nur innerhalb der Funktion gültig
Die Anzahl der Aufrufe der Funktion kann aufgezeichnet werden, so dass Rekursion unter bestimmten Bedingungen beendet werden kann
2.1, globale Variablen, statische Variablen
<?php /** * 写出如下程序的输出结果: * <?php * * $count = 5; * function get_count() * { * static $count; * return $count++; * } * echo $count; * ++$count; * * echo get_count(); * echo get_count(); * * ?> * */ $count = 5; function get_count() { static $count; return $count++; } echo $count;//5 ++$count; //这里还涉及到运算符:递减NULL值没有效果,但是递增NULL值为1 echo get_count();//null,第一次定义的static $count,内容为null,现返回内容null,再null++,结果为1 echo get_count();//1,static $count = 1,现返回1,再递增
2.2, Funktionsübertragung
<?php $var1 = 5; $var2 = 10; function foo(&$my_var) { global $var1; $var1 += 2; $var2 = 4; $my_var += 3; return $var2; } $my_var = 5; echo foo($my_var). "\n";//4 echo $my_var. "\n";//8 echo $var1;//7 echo $var2;//10 $bar = 'foo'; $my_var = 10; echo $bar($my_var). "\n";//4
2.3. Funktionsreferenzrückgabe
从函数返回一个引用,必须在函数声明和指派返回值给一个变量都是用引用运算符& <?php function &myFunc() { static $b = 10; return $b; } echo myFunc();//10 $a = &myFunc();//此步a直接引用到b的地址 $a = 100;//修改a的值,相当于修改b的值 echo myFunc();//100 ,因为b是一个静态变量,该值会保留
3. Wenn der Pfadname angegeben ist, Suchen Sie nach dem Pfad, andernfalls suchen Sie nach include_path
Wenn kein include_path vorhanden ist, suchen Sie nach dem Verzeichnis, in dem sich die aufrufende Skriptdatei befindet, und dem aktuellen Arbeitsverzeichnis
Wenn eine Datei enthalten ist, wird der darin enthaltene Code angezeigt Darin erbt er den Variablenbereich der Zeile, in der sich das Include befindet.
Wenn keiner der oben genannten Punkte gefunden wird, wird der folgende Fehler oder die folgende Warnung gemeldet
require und require_once: Wenn es fehlschlägt, kommt es zu einer schwerwiegenden Ebene Es wird ein Fehler generiert und das Programm wird nicht mehr ausgeführt.
include und include_once: Wenn es fehlschlägt, wird nur ein Fehler der Warnstufe generiert und das Programm wird weiter ausgeführt.
Der einzige Unterschied zwischen den beiden besteht darin, dass der enthaltene Dateicode nicht mehr enthalten ist, wenn er bereits vorhanden ist
4. Im System integrierte Funktionen
4.1, Zeit- und Datumsfunktion
date() //Zeitstempel formatieren
strtotime() //Datum und Uhrzeit des englischen Texts in Unix-Zeitstempel analysieren
mktime() //Ganzzahliger Unix-Zeitstempel
time() //Den aktuellen Zeitstempel abrufen
microtime () //Millisekunden abrufen
date_default_timezone_set() //Standardzeitzone festlegen
4.2, IP-Verarbeitungsfunktion
long2ip: Konvertieren Sie die lange Ganzzahl in eine gepunktete Adresse im Internet-Standardformat in String-Form ( IPV4)
ip2long: Konvertieren Sie das IPV4-String-Internetprotokoll in eine lange Ganzzahl
4.3. Die Druckfunktion
echo()
kann mehrere Werte gleichzeitig ausgeben, zwischen mehreren Werten Mit Kommas trennen. echo ist ein Sprachkonstrukt, keine echte Funktion und kann daher nicht als Teil eines Ausdrucks verwendet werden.
print(): Der Wert einer einfachen Typvariablen (z. B. int, string)
Die Funktion print() druckt einen Wert (seinen Parameter) und gibt true zurück, wenn die Zeichenfolge erfolgreich angezeigt wird, andernfalls es gibt false zurück.
print_r(): kann den Wert komplexer Typvariablen (wie Arrays, Objekte) ausdrucken.
kann einfach Zeichenfolgen und Zahlen ausdrucken, während Arrays in Form einer geschlossenen Liste von Schlüsseln und vorliegen Werte anzeigen und beginnt mit Array. Aber die Ergebnisse der Ausgabe von booleschen Werten und NULL durch print_r() sind bedeutungslos, da sie alle „n“ ausgeben. Daher eignet sich die Verwendung der Funktion var_dump() besser zum Debuggen.
Drucken Sie für Menschen lesbare Informationen über die Variable. Wenn eine Zeichenfolge, eine Ganzzahl oder eine Gleitkommazahl angegeben wird, wird der Variablenwert selbst gedruckt. Wenn ein Array angegeben wird, werden die Schlüssel und Elemente in einem bestimmten Format angezeigt. Das Objekt ähnelt einem Array. Denken Sie daran, dass print_r() den Array-Zeiger an das Ende verschiebt. Verwenden Sie reset(), um den Zeiger an den Anfang zurückzusetzen.
var_dump()
Diese Funktion zeigt Strukturinformationen zu einem oder mehreren Ausdrücken an, einschließlich Typ und Wert des Ausdrucks. Arrays erweitern Werte rekursiv und zeigen ihre Struktur durch Einrückung.
Bestimmen Sie den Typ und die Länge einer Variablen und geben Sie den Wert der Variablen aus. Wenn die Variable einen Wert hat, wird der Wert der Variablen ausgegeben und der Datentyp zurückgegeben. Diese Funktion zeigt Strukturinformationen zu einem oder mehreren Ausdrücken an, einschließlich Typ und Wert des Ausdrucks. Arrays erweitern Werte rekursiv und zeigen ihre Struktur durch Einrückung.
var_export(): Gibt eine Zeichenfolgendarstellung einer Variablen aus oder gibt sie zurück.
Diese Funktion gibt Strukturinformationen über die an die Funktion übergebene Variable zurück.
Sie können den zweiten Parameter übergeben TRUE, wodurch die Darstellung der Variablen zurückgegeben wird. Es gibt gültigen PHP-Code zurück.
var_dump和print_r的区别: var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。 var_dump和var_export的区别: var_export() 函数返回关于传递给该函数的变量的结构信息,是合法的 PHP 代码,可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示 var_dump() 打印变量的相关信息 printf():根据格式进行输出 sprintf():根据格式转换字符串,并返回4.4, serialisieren und deserialisieren, unserialisieren
<?php $a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut'); //序列化数组 $s = serialize($a); echo $s; //输出结果:a:3:{s:1:"a";s:5:"Apple";s:1:"b";s:6:"banana";s:1:"c";s:7:"Coconut";} echo '<br /><br />'; //反序列化 $o = unserialize($s); print_r($o); //输出结果 Array ( [a] => Apple [b] => banana [c] => Coconut )4.5, json_encode und json_decode
<?php $a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut'); //序列化数组 $s = json_encode($a); echo $s; //输出结果:{"a":"Apple","b":"banana","c":"Coconut"} echo '<br /><br />'; //反序列化 $o = json_decode($s); 在上面的例子中,json_encode输出长度比上个例子中serialize输出长度显然要短4.6, String-Funktion
Zusammenfassung der Verwendung von PHP-Strings
4.7, Array-Funktion
PHP-Array-Betrieb
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonErläuterung der benutzerdefinierten PHP-Funktionen und internen Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!