Heim > Backend-Entwicklung > PHP-Tutorial > Erläuterung der benutzerdefinierten PHP-Funktionen und internen Funktionen

Erläuterung der benutzerdefinierten PHP-Funktionen und internen Funktionen

小云云
Freigeben: 2023-03-20 15:34:01
Original
2091 Leute haben es durchsucht

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']
}
Nach dem Login kopieren
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,再递增
Nach dem Login kopieren

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 = &#39;foo&#39;;
$my_var = 10;
echo $bar($my_var). "\n";//4
Nach dem Login kopieren

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是一个静态变量,该值会保留
Nach dem Login kopieren

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():根据格式转换字符串,并返回
Nach dem Login kopieren
4.4, serialisieren und deserialisieren, unserialisieren



<?php   
$a = array(&#39;a&#39; => '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 )
Nach dem Login kopieren
4.5, json_encode und json_decode



<?php 
$a = array(&#39;a&#39; => '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输出长度显然要短
Nach dem Login kopieren
4.6, String-Funktion

Zusammenfassung der Verwendung von PHP-Strings


4.7, Array-Funktion
PHP-Array-Betrieb

Verwandte Empfehlungen:

Benutzerdefinierte PHP-Funktion zeichnet Protokoll auf

Benutzerdefinierte PHP-Funktion bestimmt, welche Übermittlungsmethode verwendet wird

So verwenden Sie integrierte Funktionen und benutzerdefinierte Funktionen in JS

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage