カスタム関数
関数の宣言
プログラムを作成する過程で、PHP でシステム関数を提供しない特定の関数モジュールに遭遇することがよくあるため、関数を自分で定義する必要があります。つまり、カスタム関数、カスタムのルール関数は次のとおりです。
各関数の最初の行は関数ヘッダーで、関数を宣言するキーワード関数、関数名、パラメーター リストの 3 つの部分で構成されます。
すべてのカスタム関数は、 function キーワードを使用して宣言する必要があります。
関数名は関数全体を表すことができ、変数名の命名規則に従っている限り、関数には任意の名前を付けることができます。ただし、関数名は一意である必要があり、システム関数と同じ名前にすることはできません。
関数を宣言する場合、関数名の後の中括弧も必要です。中括弧は、宣言された変数のセットを示し、関数の呼び出し時に値が渡されます。 。パラメータ リストにはパラメータを含めないか、1 つ以上のパラメータを含めることができ、複数のパラメータはカンマで区切られます。
関数本体は関数ヘッダーの後に配置され、中括弧で囲まれています。関数が呼び出された後、retun ステートメントまたは最も外側の中括弧の後で実行が終了し、呼び出し元のプログラムに戻ります。
キーワード return を使用して関数から値を返し、呼び出し元のプログラムに戻って実行を継続します。
デモ
<?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>"; } ?>
関数呼び出し
カスタム関数でもシステム関数でも、関数が呼び出されなければ実行されません。関数が呼び出された後、関数本体内のコードの実行が開始され、実行が完了すると呼び出し位置に戻り、下方向の実行が継続されます。呼び出し規則は次のとおりです:
関数名を使用して関数を呼び出します。
関数にパラメータリストがある場合は、関数名の後の括弧を通して対応する値をパラメータに渡し、関数本体のパラメータを使用して関数の内部コードの実行動作を変更することもできます。
関数に戻り値がある場合、関数を実行すると関数を呼び出した場所に戻り値が返されます。
デモ
<?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>"; } ?>
関数のパラメーター
パラメーター リストは、ゼロ、1 つ、または複数のパラメーターで構成されます。各引数はカンマで区切られた式です。パラメーター化された関数の場合、PHP スクリプト プログラムと呼び出される関数の間にはデータ転送関係があります。関数を定義する際、関数名の後の括弧内の式を仮引数(「仮引数」といいます)といい、呼び出される関数名の後の括弧内の式を実引数(「実引数」といいます)といいます。 . 実パラメータと仮パラメータ データは順番に転送する必要があります。関数にパラメーター リストがない場合、関数によって実行されるタスクは固定されており、ユーザーは関数呼び出し時に関数の内部実行動作の一部を変更できません。
デモ
<?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);?>
関数の戻り値
関数の戻り値は、関数の実行結果です。関数を呼び出すスクリプトは関数本体の情報を直接使用できませんが、関数本体にデータを渡すことができます。呼び出し元はキーワード return を通じて呼び出します。 return 文の注意事項は次のとおりです。 return 文は、関数本体内の任意の実行結果値を関数呼び出し元に返すことができます。
関数本体内でreturn文が実行されると、それ以降の文は実行されません。
デモ
<?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);?>