ホームページ >バックエンド開発 >PHPチュートリアル >PHP カスタム関数の宣言、呼び出し、パラメーター、戻り値に関する基本チュートリアル

PHP カスタム関数の宣言、呼び出し、パラメーター、戻り値に関する基本チュートリアル

伊谢尔伦
伊谢尔伦オリジナル
2017-06-26 09:41:372863ブラウズ

数学の関数と同様、y=f(x) は関数の基本的な表現形式であり、x はパラメータ、y と見なすことができます。 > これは戻り値とみなすことができます。つまり、関数定義は、特定のタスクを実行し、それを呼び出したプログラムに値を返す名前付きの独立したコード セグメントです。 y=f(x)是函数基本的表达形式,x可看做是参数,y可看做是返回值,即函数定义就是一个被命名的、独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值。

自定义函数

函数的声明

在编写程序的过程中,我们会经常碰到某些功能模块在PHP中没有提供系统函数,这样就需要我们自己定义函数,即自定义函数,自定义函数的规则如下:

  • 每个函数的第一行都是函数头,由声明函数的关键字function、函数名和参数列表三部分组成。

  • 每个自定义函数都必须使用function关键字声明。

  • 函数名可以代表整个函数,可以将函数命名为任何名称,只要遵循变量名的命名规则即可。但函数名称必须唯一,且不能与系统函数重名。

  • 声明函数时函数名后面的花括号也是必须有的,在花括号中表明了一组可以接受的参数列表,参数就是声明的变量,然后在调用函数时传递给它值。参数列表可以没有,也可以有—个或多个参数,多个参数使用逗号分隔。

  • 函数体位于函数头后面,用花括号括起来。函数被调用后,执行到retun语句或最外面的花括号后结束,返回到调用的程序。

  • 使用关键字return可以从函数中返回一个值,然后返回到调用程序处继续执行。

Demo

<?php 
    /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */
    function table() {                              
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";           
        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>";
    } 
?>

函数的调用

不管是自定义的函数还是系统函数,如果函数不被调用,就不会执行。函数被调用后开始执行函数体中的代码,执行完毕返回到调用的位置继续向下执行。调用规则如下:

  • 通过函数名称去调用函数。

  • 如果函数有参数列表,还可以通过函数名后面的圆括号传入对应的值给参数,在函数体中使用参数来改变函数内部代码的执行行为。

  • 如果函数有返回值,当函数执行完毕时就会将return后面的值返回到调用函数的位置处。

Demo

<?php 
    /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */
    function table() {                              
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";           
        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脚本程序中和被调用函数之间有数据传递关系。定义函数时函数名后面括号内的表达式称为形式参数(简称“形参”),被调用函数名后面括号中的表达式称为实际参数(简称“实参”),实参和形参需要接顺序对应传递数据。如果函数没有参数列表,函数执行的任务就是固定的,用户在调用函数时不能改变函数内部的一些执行行为。

Demo

<?php 
    /**自定义函数table()时,声明三个参数,参数之间使用逗号分隔        
    @param  string  $tableName  需要一个字符串类型的表名        
    @param  int     $rows       需要一个整型数值设置表格的行数        
    @param  int     $cols       需要另一个整型值设置表格的列数    */
    function table( $tableName, $rows, $cols ) {                    
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";       
        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 でシステム関数を提供しない特定の関数モジュールに遭遇することがよくあります。そのため、関数、つまりカスタム関数を自分で定義する必要があります。カスタム関数のルールは次のとおりです。

各関数の最初の行は、 で宣言された関数ヘッダーです。関数は、キーワード関数、関数名、パラメータリストの3つの部分で構成されます。 🎜🎜
  • 🎜すべてのカスタム関数は、function キーワードを使用して宣言する必要があります。 🎜🎜
  • 🎜関数名は関数全体を表すことができ、変数名の命名規則に従っている限り、関数には任意の名前を付けることができます。ただし、関数名は一意である必要があり、システム関数と同じ名前にすることはできません。 🎜🎜
  • 🎜関数を宣言する場合、関数名の後の中括弧も必要です。中括弧は、宣言された変数のセットを示し、値が渡されます。関数が呼び出されます。パラメータ リストにはパラメータを含めないか、1 つ以上のパラメータを含めることができ、複数のパラメータはカンマで区切られます。 🎜🎜
  • 🎜 関数本体は関数ヘッダーの後に配置され、中括弧で囲まれます。関数が呼び出された後、retun ステートメントまたは最も外側の中括弧の後で実行が終了し、呼び出し元のプログラムに戻ります。 🎜🎜
  • 🎜キーワード return を使用して関数から値を返し、呼び出し元のプログラムに戻って実行を継続します。 🎜🎜🎜🎜Demo🎜
    <?php 
        /**        自定义函数table()时,声明三个参数,参数之间使用逗号分隔        
        @param  string  $tableName  需要一个字符串类型的表名        
        @param  int     $rows       需要一个整型数值设置表格的行数        
        @param  int     $cols       需要另一个整型值设置表格的列数    */
        function table( $tableName, $rows, $cols ) {        $returnStr="这是返回的字符串";
            echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";       
            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);
    ?>
    🎜関数呼び出し🎜🎜カスタム関数でもシステム関数でも、関数が呼び出されなければ実行されません。関数が呼び出された後、関数本体内のコードの実行が開始され、実行が完了すると呼び出し位置に戻り、下方向の実行が継続されます。呼び出し規則は次のとおりです。 🎜
    • 🎜 関数名を使用して関数を呼び出します。 🎜🎜
    • 🎜関数にパラメーター リストがある場合は、関数名の後の括弧を介して対応する値をパラメーターに渡し、関数本体のパラメーターを使用して、関数内のコードの実行動作を変更することもできます。関数。 🎜🎜
    • 🎜関数に戻り値がある場合、関数が実行されると、return に続く値が関数が呼び出された場所に返されます。 🎜🎜🎜🎜デモ🎜rrreee🎜関数パラメータ🎜🎜パラメータリストはゼロで構成されています。 1 つ以上のパラメータ。各引数はカンマで区切られた式です。パラメータ化された関数の場合、PHP スクリプト プログラムと呼び出される関数の間にはデータ転送関係があります。関数を定義する際、関数名の後の括弧内の式を仮引数(「仮引数」といいます)といい、呼び出される関数名の後の括弧内の式を実引数(「実引数」といいます)といいます。 . 実パラメータと仮パラメータ データは順番に転送する必要があります。関数にパラメーター リストがない場合、関数によって実行されるタスクは固定されており、ユーザーは関数呼び出し時に関数の内部実行動作の一部を変更できません。 🎜🎜デモ🎜rrreee🎜関数の戻り値🎜🎜 function は関数の実行です。その結果、関数を呼び出すスクリプトは直接関数は本体情報に含まれていますが、データはキーワード return を介して呼び出し元に渡すことができます。 return ステートメントに関する注意事項は次のとおりです。 🎜
      • 🎜return ステートメントは、関数本体内の任意の実行を返すことができます。関数の呼び出し元の結果値に。 🎜🎜
      • 🎜関数本体で return ステートメントが実行されると、それに続くステートメントは実行されません。 🎜🎜🎜🎜デモ🎜rree
  • 以上がPHP カスタム関数の宣言、呼び出し、パラメーター、戻り値に関する基本チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。