Benutzerdefinierte Funktion
Funktionsdeklaration
Beim Schreiben von Programmen stoßen wir häufig auf bestimmte Funktionsmodule, die in PHP keine Systemfunktionen bereitstellen. Daher müssen wir eine Funktion definieren. Das heißt, eine benutzerdefinierte Funktion lautet wie folgt:
Die erste Zeile jeder Funktion ist der Funktionsheader, der aus drei Teilen besteht: dem Schlüsselwort function, das die Funktion deklariert, dem Funktionsnamen, und die Parameterliste.
Jede benutzerdefinierte Funktion muss mit dem Schlüsselwort function deklariert werden.
Der Funktionsname kann die gesamte Funktion darstellen, und die Funktion kann einen beliebigen Namen haben, solange sie den Benennungsregeln für Variablennamen folgt. Der Funktionsname muss jedoch eindeutig sein und darf nicht denselben Namen wie die Systemfunktion haben.
Bei der Deklaration einer Funktion sind auch die geschweiften Klammern nach dem Funktionsnamen erforderlich. Die geschweiften Klammern geben einen Satz akzeptabler Parameterlisten an. Die Parameter sind die deklarierten Variablen, und dann wird der Wert an sie übergeben Funktion aufgerufen wird. Die Parameterliste kann keinen, einen oder mehrere Parameter enthalten. Mehrere Parameter werden durch Kommas getrennt.
Der Funktionskörper befindet sich nach dem Funktionsheader und ist in geschweifte Klammern eingeschlossen. Nachdem die Funktion aufgerufen wurde, endet die Ausführung nach der Retun-Anweisung oder der äußersten geschweiften Klammer und kehrt zum aufrufenden Programm zurück.
Verwenden Sie das Schlüsselwort return, um einen Wert von einer Funktion zurückzugeben, und kehren Sie dann zum aufrufenden Programm zurück, um die Ausführung fortzusetzen.
Demo
<?php /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */ function table() { echo "<table align='center' border='1' width='600'>"; for($out=0; $out < 10; $out++ ) { $bgcolor = $out%2 == 0 ? "red" : "blue";//各行换背景色 echo "<tr bgcolor=".$bgcolor.">"; for($in=0; $in <10; $in++) { echo "<td>".($out*10+$in)."</td>"; } echo "</tr>"; } echo "</table>"; } ?>
Funktionsaufruf
Ob es sich um eine benutzerdefinierte Funktion oder eine Systemfunktion handelt, wenn die Funktion nicht aufgerufen wird, wird sie nicht ausgeführt. Nachdem die Funktion aufgerufen wurde, beginnt sie mit der Ausführung des Codes im Funktionskörper. Nach Abschluss der Ausführung kehrt sie zum aufrufenden Speicherort zurück und setzt die Ausführung abwärts fort. Die Aufrufregeln lauten wie folgt:
Rufen Sie die Funktion über den Funktionsnamen auf.
Wenn die Funktion über eine Parameterliste verfügt, können Sie den entsprechenden Wert auch über die Klammern nach dem Funktionsnamen an den Parameter übergeben und die Parameter im Funktionskörper verwenden, um das Ausführungsverhalten des internen Codes von zu ändern die Funktion.
Wenn die Funktion einen Rückgabewert hat, wird der Wert nach der Rückgabe bei Ausführung der Funktion an die Stelle zurückgegeben, an der die Funktion aufgerufen wurde.
Demo
<?php /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */ function table() { echo "<table align='center' border='1' width='600'>"; for($out=0; $out < 10; $out++ ) { $bgcolor = $out%2 == 0 ? "red" : "blue";//各行换背景色 echo "<tr bgcolor=".$bgcolor.">"; for($in=0; $in <10; $in++) { echo "<td>".($out*10+$in)."</td>"; } echo "</tr>"; } echo "</table>"; } ?>
Die Parameter der Funktion
Die Parameterliste besteht aus null, einem oder mehreren Parametern. Jedes Argument ist ein durch Kommas getrennter Ausdruck. Bei parametrisierten Funktionen besteht eine Datenübertragungsbeziehung zwischen dem PHP-Skriptprogramm und der aufgerufenen Funktion. Beim Definieren einer Funktion werden die Ausdrücke in Klammern nach dem Funktionsnamen als formale Parameter (als „formale Parameter“ bezeichnet) und die Ausdrücke in Klammern nach dem aufgerufenen Funktionsnamen als tatsächliche Parameter (als „aktuelle Parameter“ bezeichnet) bezeichnet. . Aktualparameter und Formalparameter Die Daten müssen der Reihe nach übertragen werden. Wenn die Funktion keine Parameterliste hat, sind die von der Funktion ausgeführten Aufgaben festgelegt und der Benutzer kann einige der internen Ausführungsverhalten der Funktion beim Aufrufen der Funktion nicht ändern.
Demo
<?php /** 自定义函数table()时,声明三个参数,参数之间使用逗号分隔 @param string $tableName 需要一个字符串类型的表名 @param int $rows 需要一个整型数值设置表格的行数 @param int $cols 需要另一个整型值设置表格的列数 */ function table( $tableName, $rows, $cols ) { echo "<table align='center' border='1' width='600'>"; echo "<caption><h1> $tableName </h1></caption>"; for($out=0; $out < $rows; $out++ ) { //使用第二个参数$rows指定表行数 $bgcolor = $out%2 == 0 ? "red" : "blue"; echo "<tr bgcolor=".$bgcolor.">"; for($in=0; $in < $cols; $in++) { //使用第三个参数$cols指定表列数 echo "<td>".($out*$cols+$in)."</td>"; } echo "</tr>"; } echo "</table>"; } ?> <?php table("千度的表格",10,10);?>
Der Rückgabewert der Funktion
Der Rückgabewert der Funktion ist das Ergebnis der Funktionsausführung, die nicht direkt ausgeführt werden kann Verwenden Sie die Informationen im Funktionskörper. Daten können jedoch über das Schlüsselwort return an den Aufrufer übergeben werden. Hinweise zur Return-Anweisung lauten wie folgt:
Die Return-Anweisung kann jeden Ausführungsergebniswert im Funktionskörper an den Funktionsaufrufer zurückgeben.
Wenn die Return-Anweisung im Funktionskörper ausgeführt wird, werden die darauf folgenden Anweisungen nicht ausgeführt.
Demo
<?php /** 自定义函数table()时,声明三个参数,参数之间使用逗号分隔 @param string $tableName 需要一个字符串类型的表名 @param int $rows 需要一个整型数值设置表格的行数 @param int $cols 需要另一个整型值设置表格的列数 */ function table( $tableName, $rows, $cols ) { $returnStr="这是返回的字符串"; echo "<table align='center' border='1' width='600'>"; echo "<caption><h1> $tableName </h1></caption>"; for($out=0; $out < $rows; $out++ ) { //使用第二个参数$rows指定表行数 $bgcolor = $out%2 == 0 ? "red" : "blue"; echo "<tr bgcolor=".$bgcolor.">"; for($in=0; $in < $cols; $in++) { //使用第三个参数$cols指定表列数 echo "<td>".($out*$cols+$in)."</td>"; } echo "</tr>"; } echo "</table>"; return $returnStr; } ?> <?php echo table("千度的表格",10,10);?>