Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Lernhandbuch – Kapitel 8 (1)

PHP-Lernhandbuch – Kapitel 8 (1)

黄舟
Freigeben: 2023-03-04 07:12:02
Original
992 Leute haben es durchsucht

Definition und Anwendung von Funktionen

Wichtige Punkte dieses Kapitels

2 Integrierte PHP-Funktionen verwenden

2 Durchsuchen des Online-Funktionshandbuchs

2 Benutzerdefinierte Funktionen

2 Preistipps: variable Parameter, Referenzaufrufe und variable Funktionen


Jede Programmiersprache verfügt über eine Art Programmabstraktionsverarbeitungsfähigkeit (prozedurale Abstraktion ist hier zu nennen). einen bestimmten Abschnitt des Programmcodes, damit er beim Schreiben anderer Abschnitte des Programmcodes verwendet werden kann). Einigen Skriptsprachen fehlt diese Fähigkeit, und unserer Erfahrung nach kann dies dazu führen, dass komplexer serverseitiger Code schnell unüberschaubar wird.


Der von PHP zur Bereitstellung dieser abstrakten Verarbeitung verwendete Mechanismus ist eine Funktion. Tatsächlich gibt es in PHP zwei Arten von Funktionen: eine, die bereits von PHP-Entwicklern in die Sprache integriert ist, und die andere, die von jedem PHP-Programmierer definiert wird.


In diesem Kapitel werfen wir einen Blick darauf, wie Sie die große Anzahl der von PHP bereitgestellten Funktionen nutzen und lernen dann, wie Sie Ihre eigenen Funktionen definieren. Glücklicherweise gibt es keinen Unterschied zwischen der Verwendung integrierter Funktionen und der Definition eigener Funktionen.


Funktionen verwenden

Die grundlegende Syntax für die Verwendung (oder den Aufruf) von Funktionen lautet wie folgt:


Funktionsname(Ausdruck_1, Ausdruck_2,…,Ausdruck_n)

Es erscheint in Form einer Liste von Eingabeoperationen (sogenannte Funktionsparameter), gefolgt von Klammern und Kommas, getrennt durch den Funktionsnamen. Gemäß der spezifischen Definition kann die aufrufende Funktion keine Parameter annehmen oder mehrere Parameter gleichzeitig einbringen.


Wenn PHP auf einen Funktionsaufruf stößt, wertet es zunächst jede Parameteroperation aus und verwendet diese Werte dann als Eingabe für die Funktion. Nach Ausführung der Funktion ist der Rückgabewert (falls vorhanden) das Ergebnis des gesamten Funktionsausdrucks.


Die unten aufgeführten Beispiele sind alle gültige Aufrufmethoden der integrierten PHP-Funktionen:


sqtr(9) //Quadratwurzelfunktion, das Ergebnis ist „3 》

rand(10,10+10) //Einen Wert zwischen „10“ und „20“ zurückgeben

strlen(“Das hat 22 Zeichen“) //Return Übergibt den Wert „22 "

pi() //Gibt den ungefähren Wert von p zurück


Diese Funktionen werden jeweils mit 1, 2, 1 und 0 Parametern aufgerufen.

Rückgabewerte und Nebenwirkungen

Jeder Funktionsaufruf ist ein PHP-Ausdruck (wie andere Ausdrücke). Es gibt nur zwei Gründe, Funktionen in Ihren Programmcode aufzunehmen: Den Rückgabewert abrufen, oder um Nebenwirkungen zu bekommen.

Der Rückgabewert der Funktion ist der Wert der Funktionsoperation. Sie können diesen Wert wie das Auswertungsergebnis jeder anderen Operation verwenden. Sie können ihn beispielsweise wie folgt einer Variablen zuweisen:

$my_pi = pi(); kann es in einen komplexen Berechnungsausdruck einbetten, wie unten gezeigt:


$ca. = sprt($ca.)* sqrt($ca.)


Funktion Die Formel kann auch kann verwendet werden, um eine Vielzahl von Nebeneffekten auszuführen, darunter das Schreiben von Daten in Dateien, Datenbankoperationen und die Anzeige der Inhaltsausgabe in einem Browserfenster. Es ist möglich, Rückrufe und Nebenwirkungen gleichzeitig zu verwenden. Beispielsweise verwenden wir häufig eine Funktion mit Nebenwirkungen und geben gleichzeitig einen Wert zurück, um zu überprüfen, ob die Funktion normal ausgeführt wird

.

Das Ergebnis der Funktion kann von jedem Typ sein und der Array-Typ wird normalerweise als Funktion verwendet, die mehrere Werte zurückgibt.


Funktionshandbuch


Die PHP-Architektur ist sehr intelligent gestaltet, sodass sie leicht von anderen Entwicklern erweitert werden kann. Die ursprüngliche PHP-Sprache selbst ist leicht zu verstehen und sehr flexibel. Die meisten PHP-Funktionen sind in einer großen Anzahl integrierter Funktionen vorhanden. Dies bedeutet, dass Entwickler die Freiheit haben, neue integrierte Funktionen hinzuzufügen und zu PHP beizutragen, was großartig ist, da dadurch kein Teil von PHP geändert wird, auf den Benutzer möglicherweise angewiesen sind.


Obwohl dieses Buch viele integrierte Funktionen abdeckt, von denen einige ausführlicher erklärt werden als das Online-Handbuch, stellt http://www.php.net Folgendes bereit: Das Handbuch ist auch eine wichtige Referenzressource für Funktionsinformationen. In diesem Buch werden wir die Themen, die wir exzerpieren möchten, in gewissem Umfang vertiefen, aber der Inhalt des PHP-Handbuchs bleibt die umfassendste Referenz zu allen Aspekten von PHP. Wir hoffen zwar, dass dieses Buch mit zukünftigen Versionen von PHP auf dem neuesten Stand bleibt, der Online-Leitfaden bietet jedoch die neuesten Informationen zu neuen PHP-Funktionen, einschließlich derjenigen, die sich noch in der Entwicklung befinden. Daher ist es sehr hilfreich, einen Blick auf die offizielle PHP-Website und die verschiedenen online bereitgestellten Ressourcen zu werfen, wenn Sie Zeit haben.


Obwohl die folgenden Informationen zum Zeitpunkt der Fertigstellung dieses Buches korrekt waren (die zweite Auflage wurde 2002 erneut veröffentlicht). Aufgrund aktualisierter Versionen oder einer Neuorganisation des Online-Handbuchs können jedoch einige Details veraltet oder nicht mehr anwendbar sein.


Wenn Sie nach Online-Handbüchern suchen möchten, können Sie auf die Website http://www.php.net gehen und in der oberen rechten Navigationsleiste die Option „Dokumentation“ auswählen. Dadurch werden Sie zu einem Verzeichnis mit verschiedenen Formaten weitergeleitet Link zur Bedienungsanleitung. Was wir sehen möchten, ist das kommentierte Handbuch (derzeit mit der Option „Online anzeigen“ auf der Dokumentationsseite verknüpft), das es Benutzern ermöglicht, ihre eigenen Anmerkungsdaten auf jeder Seite zu veröffentlichen. [Bitte beachten Sie: Das manuelle Anmerkungssystem ist nicht der richtige Ort, um Fragen zu stellen! Wenn Sie Fragen zur Verwendung haben, können Sie den Abschnitt zur Mailingliste konsultieren, der sich auf der Registerkarte „Support“ von www.php.net befindet, oder Anhang D dieses Buches über PHP-Ressourcen lesen. Das manuelle Anmerkungssystem ist ein Ort, an dem Benutzer in ihren eigenen Worten erklären und ihre Meinung äußern können. Dies ist jedoch in der Tat eine Möglichkeit für uns, in Zukunft auch eine offizielle Version zu werden Es ist eine großartige Möglichkeit, einen Beitrag zu leisten, und es ist auch ein großartiger Ort, um auf Verwirrung und mögliche Probleme hinzuweisen, aber alles ist auf „Englisch“! ]

Der größte Teil des Benutzerhandbuchs besteht aus Testmaterial für Funktionen, und jede integrierte Funktion verfügt über eine separate Beschreibungsseite. Jede Seite beginnt mit dem Funktionsnamen und einer einzeiligen Beschreibung, dann einer Funktionsheader-Deklaration im C-Stil (im nächsten Abschnitt erklärt), gefolgt von einer etwas längeren Beschreibung, vielleicht ein oder zwei Beispielen, und dann (im Notes-Handbuch) sind Kommentare und Meinungsberichte von Nutzern.


Überschriften im Handbuch

Für diejenigen, die mit den Funktionsüberschriften der C-Sprache nicht vertraut sind, kann der Anfang des Funktionshandbuchs verwirrend sein. Das Grundformat ist:

return-type function-name(type argl,type2 arg2,…);

Es gibt an, dass die erwartete Funktion einen Werttyp, einen Funktionsnamen und einen Erwartungsparameter zurückgibt Typen usw.

Das Folgende ist eine grundlegende Header-Beschreibung:

string substr (string string,int startl [,int length]);

Dies bedeutet, dass die Funktion substr a zurückgibt String und erwartet als Parameter einen String und zwei Ganzzahlen. Tatsächlich zeigen die eckigen Klammern auf beiden Seiten der Länge an, dass dieser Parameter optional ist. Wenn Sie also substr aufrufen, können Sie einen String string und eine int-Ganzzahl oder einen String string und zwei int-Ganzzahlen mitbringen.

Anders als in C sind die in diesen manuellen Headern deklarierten Parametertypen nicht unbedingt erforderlich. Wenn Sie substr mit einer Zahl als Argument aufrufen, tritt kein Fehler auf; PHP konvertiert das erste Argument in einen String, bevor es mit der Ausführung der Funktion beginnt. Der Parametertyp spiegelt jedoch die ursprüngliche Absicht des Funktionserstellers wider. Darüber hinaus ist es am besten, die Funktion entsprechend dem im Handbuch angegebenen Typ zu verwenden oder über ausreichende Kenntnisse der Typkonvertierung zu verfügen, um sicherzustellen, dass dies erwartet wird Ergebnis.

Im Allgemeinen ist der in Funktionshandbüchern verwendete Typname einer der sechs Grundtypen oder deren Aliase: integet (oder int), double (oder float, real), Boolean, string, array, object, Ressource und NULI. Darüber hinaus können Sie die Arten von Hohlräumen und Gemischen sehen. Die Funktion vom Typ Viod gibt überhaupt keinen Wert zurück und der gemischte Parametertyp bedeutet, dass die Parameter von jedem Typ sein können.

Funktionshandbuch abfragen

Wie kann ich Informationen zu einer Funktion im Handbuch am besten überprüfen? Es hängt hauptsächlich von Ihrer Neugier ab und davon, für welche Art von Teil Sie sich interessieren? Die häufigste Frage zu Funktionen lautet:

Ich möchte die X-Funktion verwenden, wie soll ich sie verwenden?

Ich muss eine bestimmte Y-Aufgabe erledigen. Gibt es eine Funktion, die mir bei der Erledigung dieser Aufgabe helfen kann?

Für den ersten Fall bietet die Vollversion des Online-Handbuchs eine automatische Abfrage basierend auf dem Funktionsnamen. Unter der Navigationsleiste oben rechts ist der Standardsuchmodus des Textfelds „Suchen nach“ der Name der Funktion. Nachdem die Funktion gefunden wurde, wird die Webseite angezeigt, auf der die Funktion angezeigt wird (Sie können auch auswählen). Andere Suchobjekte, einschließlich der gesamten Mailingliste der Website. Dies ist ein guter Ort zum Suchen, wenn Sie den Namen der benötigten Funktion nicht kennen, aber den ungefähren Namen der benötigten Funktion erraten können.

Wenn Sie im zweiten Fall danach suchen, verwenden Sie am besten die hierarchische Organisationsstruktur der Funktionsreferenz (Funcrion Reference, einer der Artikel im PHP-Handbuch), die in 108 Kapitel unterteilt ist . Beispielsweise befindet sich die zuvor erwähnte Substr-Funktion im Abschnitt „String-Funktionen“ im Abschnitt „Header in der Dokumentation“. Sie können die Liste der Kapitel in der Funktionsreferenz durchsuchen, um das Kapitel auszuwählen, das am besten zu der Aufgabe passt, die Sie ausführen möchten. Oder wenn Sie zufällig den Namen einer Funktion kennen, die möglicherweise in denselben Bereich wie die ausgeführte Arbeit fällt, können Sie direkt auf die Schaltfläche „Quick Ref“ klicken, um eine Verbindung zum entsprechenden Kapitel herzustellen.

Benutzerdefinierte Funktionen

Benutzerdefinierte Funktionen sind in PHP nicht erforderlich. Sie können auch nützliche Websites erstellen, indem Sie nur grundlegende Sprachstrukturen und eine große Anzahl integrierter Funktionen verwenden. Wenn Sie jedoch feststellen, dass der Inhalt Ihres Programmcodes immer länger wird und immer schwieriger zu verstehen und zu verwalten ist, sollten Sie darüber nachdenken, einen Teil Ihres Programmcodes in Funktionen umzuwandeln.

Was ist eine Funktion?

Eine Funktion ist eine Möglichkeit, ein Programm zu schreiben, das einen Programmcodeblock umschließt und ihm einen Namen gibt. Dies erleichtert die zukünftige Verwendung des Programmcodeblocks mit nur einer Programmcodezeile. Wenn beim Schreiben eines Programms der Programmcodeblock an vielen Stellen verwendet wird, ist die Funktion die effektivste Methode, aber selbst wenn sie nur einmal verwendet wird, hilft das Erstellen und Schreiben der Funktion bei der Strukturierung des Programms, weil Kann Ihre machen Programmcode besser lesbar.

Funktionsdefinitionssyntax

Eine Funktion kann in der folgenden Form definiert werden:

Funktion Funktionsname($argument1, $argument2,..)

{

Anweisung1; 🎜>Das spezielle Wort „Funktion“

Der der Funktion gegebene Name

Die Parameterliste der Funktion ($-Symbolvariablen durch Kommas getrennt)

Der Funktionskörper (Eine Reihe narrativer Aussagen in geschweiften Klammern)

Wie Variablennamen müssen auch Funktionsnamen aus englischen Buchstaben, Zahlen und Unterstrichen (_) bestehen und dürfen nicht beginnen mit einer Nummer. Im Gegensatz zu Variablennamen werden Funktionsnamen vor der Speicherung in Kleinbuchstaben umgewandelt, sodass bei Funktionsnamen die Groß-/Kleinschreibung nicht beachtet werden kann.

Was passiert, wenn eine definierte Funktion aufgerufen wird, wird wie folgt kurz beschrieben:

1. PHP sucht anhand des Namens nach der Funktion (wenn die Funktion nicht definiert wurde, wird eine Fehlermeldung angezeigt).

2. PHP ersetzt die Variablen (oder „formalen Parameter“) in der Parameterliste in der Funktionsdefinition durch die Werte der Parameter (oder „tatsächliche Parameter“).

3. Führen Sie die narrative Aussage des Funktionskörpers aus. Wenn die Ausführung die „return“-Anweisung in der Anweisung erreicht, stoppt die Funktion die Ausführung und gibt den angegebenen Wert zurück. Andernfalls wird die Funktion bis zum letzten Schritt ausgeführt und es wird kein Wert zurückgegeben.

Bitte seien Sie vorsichtig, erfahrene Programmierer bemerken möglicherweise, dass die vorherige Beschreibung Call-by-Value und nicht Call-by-Reference impliziert. Im letzten Abschnitt dieses Kapitels werden wir ihre Unterschiede erläutern und zeigen, wie man durch Referenz aufruft.

Beispiel für eine Funktionsdefinition

Stellen Sie sich als fiktives Beispiel bitte den folgenden Programmcode vor. Der Zweck besteht darin, uns bei der Entscheidung zu helfen, wie viele Flaschengetränke wir kaufen sollen (vielleicht irgendwann in der Zukunft, super). Einkaufszentren verwenden bereits zerstörbare drahtlose Webbrowser, um Preisvergleiche zu überprüfen.

$liters_1 = 1,0;

$price_1 = 1,59;

$price_2 = 2,09; $per_liter_1 = $price_1 / $liters_1;

$per_liter_2 = $price_2 / $liters_2;

if($per_literl<$per_liter2)

print(“Das erste Angebot ist besser! < BR >“);

else

print(“Das zweite Angebot ist besser! < BR >“); Typvergleiche sind überall in unserem Programmiercode für Webseiten zu sehen, und wir möchten daraus eine wiederverwendbare Funktion machen. Eine Möglichkeit, dies zu tun, besteht darin, es wie im Beispiel umzuschreiben:

function better_deal ($amount_1,$price_1,

$amount_2,$price_2)

{

$per_amount_1 = $price_1/$amount_1;

$per_amount_2 = $price_2/$amount_2;

return($per_amount_1<$per_amount_2);

}

$liters_1 = 1,0;

$price_1 = 1,59;

$price_2 = 2,09; $price_1,

$liters_2,$price_2))

print(„Das erste Angebot ist besser!< BR >“);

else

price(“Das zweite Angebot ist besser!< BR >“);

better_deal-Funktion extrahiert die drei Zeilen arithmetischer Operationen und Vergleiche im vorherigen Programmcode, der vier Zahlen als Parameter und verwendet gibt den Wert eines booleschen Ausdrucks zurück. Wie jeder andere boolesche Wert kann er in den Testteil einer if-Anweisung eingebettet werden. Obwohl diese Funktion länger ist als der ursprüngliche Programmcode, hat das Umschreiben auf diese Weise zwei Vorteile: Sie können diese Funktion an mehreren anderen Stellen im Programm verwenden (wobei die Anzahl der Zeilen des gesamten Programms eingespart wird, wenn Sie sich für eine Änderung der Berechnung entscheiden). Bei dieser Methode müssen Sie nur eine Stelle ändern.

Es gibt eine weitere Alternative: Wenn beim Preisvergleich das günstigere Angebot ausgedruckt werden soll, können Sie die Ausgabeanzeigeanweisung direkt in die Funktion einfügen, wie unten gezeigt:

Funktion print_better_deal($amount_1,$price_1,

$amount_2,$price_2)

{

$per_amount_1 = $price_1 / $amount_1;

$per_amount_2 = $price_2 / $amount_2;

if($per_amout_1<$per_amount_2)

print(„Der erste Deal ist besser!< BR >“);

else

print(„Das zweite Angebot ist besser!< BR >“);

}

$liters_1 = 1.0;

$price_1 = 1,59;

$liters_2 = 1,5;

$price_2 = 2,09; $price_2);

Die erste Funktion verwendet die Return-Anweisung, um ein boolesches Ergebnis zu übergeben, die dann in einem Test mit einer if-Anweisung verwendet wird. Die zweite Funktion hat keine Return-Anweisung, da sie ihren Nebeneffekt ausführt: die Anzeige von Text im Browser des Benutzers. Wenn die letzte Anweisung dieser Funktion
Nachdem die Anweisung ausgeführt wurde, führt PHP die nächste Anweisung nach dem Funktionsaufruf aus.

Vergleich von formalen Parametern und tatsächlichen Parametern

Im vorherigen Beispiel sind die an die Funktion übergebenen Parameter „Variablen“, aber das ist nicht unbedingt der Fall. Die tatsächlichen Argumente (d. h. die Argumente im Funktionsaufruf) können alle auswertbaren Ausdrücke sein. In unserem Beispiel können wir Zahlen wie folgt an den Funktionsaufruf übergeben:

Print_bettet_deal(1.0,1.59,1.5,2.09)

Beachten Sie außerdem, dass in diesem Beispiel Es gibt zwei Fälle, in denen die tatsächliche Parametervariable denselben Namen wie der formale Parameter hat (z. B. $price_1) und der tatsächliche Parameter und der formale Parameter unterschiedliche Namen haben (z. B. sind $liters_1 und $amount_1 unterschiedlich). Im nächsten Abschnitt gibt es kein Problem mit beiden Methoden. Die formalen Parameternamen der Funktion existieren völlig unabhängig außerhalb der Funktion, auch wenn die Funktion sich selbst aufruft

Das Obige ist PHP-Lernhandbuch - Kapitel 8 (1). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)


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