関数の定義: 関数は、いつでも呼び出すことができる、カプセル化されたコードのブロックです。 PHP には、カスタム関数 とシステム関数の 2 種類の関数があります。
カスタム関数の構文形式:
function 関数名 ([パラメータ 1, [パラメータ 2]....])
{
関数本体 (プログラム内容の説明)
[return 戻り値;]
}
注: [] 内はオプションです。
カスタム関数の名前:
これは、プログラム コード内の関数の識別名です。関数名は文字またはアンダースコアで始まります。ゼロ、または複数の文字、アンダースコア、および数字からなる任意の文字列。
変数名の命名規則に従う
関数名は大文字と小文字が区別されません。
関数名を繰り返すことはできず、宣言された関数は関数に名前を付けるときに使用できません(これは変数の名前付けとは異なり、変数は前の変数名を上書きできますが、関数は上書きできません)、およびPHPシステム関数名前。
関数名と変数名の違い:
変数名は厳密に大文字と小文字が区別されますが、関数名は大文字と小文字が区別されません。
パラメータ (仮パラメータと実パラメータに分けることができます):
いわゆるパラメータは、関数の外部から関数本体に値を渡すために使用され、計算と処理に使用されます。
パラメータは「,」で区切られており、関数に値を渡す必要がない場合はパラメータを省略できます。
仮パラメータ: 関数を宣言するとき、関数名の後の括弧内の式は仮パラメータと呼ばれます。
関数テーブル(仮引数1、仮引数2) {}
実引数: 呼び出される関数名の後の括弧内の式を実引数と呼びます。
table (実パラメータ 1、実パラメータ 2);
実パラメータと仮パラメータは順番にデータを渡す必要があります。
function table2($rows,$cols,$color='yellow') { echo '<table border="1" bgcolor="'.$color.'">'; for($i = 0;$i < $rows;$i++){ echo '<tr>'; for($n = 0;$n <$cols;$n++){ echo '<td>'.($i*$rows+$n).'</td>'; } echo '</tr>'; } } table2(10,10,'red');
注: 関数パラメータのうち、デフォルト値がないものはパラメータリストの先頭に配置され、デフォルト値があるものはパラメータリストの最後に配置されます。
table2($rows,$cols,$color = ' yellow')
戻り値:
関数呼び出し時にいくつかの値を返す必要がある場合は、関数本体で return ステートメントを使用する必要があります。
形式は次のとおりです:
return return value; //戻り値は変数または式です
exit(); //戻り値なし void
関数本体で return ステートメントが使用されている場合、次の 2 つの関数があります:
return ステートメントは、関数本体内の任意の決定された値を関数呼び出し元に返すことができます。
プログラム制御を呼び出し元のスコープに戻します。つまり、関数を終了します。関数内で return ステートメントが実行されると、それに続くステートメントは実行されません。
注: 関数が値を返さない場合、それは実行プロセスとみなされます。関数に依存して何かを行うだけでは十分ではなく、場合によっては関数の実行結果を使用する必要があります。プログラムスクリプト内で。変数のスコープの違いにより、関数を呼び出すスクリプト プログラムは関数本体の情報を直接使用できませんが、キーワード return を通じて呼び出し元にデータを渡すことができます。
echo と return: echo はブラウザに直接出力され、再処理できず、変数に割り当てることもできません
return はデータの一時コンテナである変数に割り当てることができます (return は値を返し、変数を使用して受け取ります)
注: 関数に戻り値がある場合、関数が実行されると、関数が呼び出された場所に戻り後の値が返されるため、関数名を値として使用できます。関数によって返されます。 (このとき、関数呼び出し時に ruturn 以降の値は機能しません(retrun の値は関数を呼び出した位置に戻っており、return 前の出力は出力できます)。特定の値であり、funName(); 出力では使用できません。出力するには、echo funName() が必要です。
書式: 関数名( );
説明: table();
関数名を通じて関数を呼び出し、関数本体のコードを数回呼び出した後に実行します。
キャメルケース命名法:
<?php header("content-type:text/html;charset=utf-8"); echo show(); echo '<hr>'; function show() { echo 'ccc'; return 'aaa'; //return所在行之后的代码不会执行 echo 111; } //函数的调用,不会将return后面的值返回 show(); echo '<hr>'; //return返回的值 需要一个变量来接收它 $result = show(); echo $result; echo '<hr>'; //也可以直接输出 函数名称 echo show(); echo '<hr>';
: function_exists()
function showInfo() { } function ShowInfo() { }
:
局部变量
全局变量
静态变量
<?php $username = 'shifang'; function stu() { $name = 'libai'; echo $name; //无法调用外部的$username,而在函数体内也没有声明$username 10 echo $username; echo 'xxxx'; } stu(); //函数体外无法调用函数体内的变量 16.echo $name; echo $username;
结果:
libai
Notice: Undefined variable: username in D:\xampp\htdocs\89\Exercise\2016-7-28 PHP function\007quanju.php on line 10
xxxx
Notice: Undefined variable: name in D:\xampp\htdocs\89\Exercise\2016-7-28 PHP function\007quanju.php on line 16
shifang
在PHP的页面中声明的变量,叫“全局变量”.
函数内的变量叫“局部变量”.
二者没有半毛钱关系:函数内的变量,外部无法调用,函数外的变量,函数无法调用
(某戏班子到某学校唱戏,两者的花名册都不可相互调用)
静态变量:
PHP支持声明函数变量为静态的(static)。
一个静态变量在所有对该函数的调用之间共享,并且仅在脚本的执行期间函数第一次被调用时被初始化。
要声明函数变量为静态的用关键字static,通常,静态变量的第一次使用时赋予一个初始值。
<?php function tongji() { static $n = 0; echo $n; $n++; } tongji(); tongji(); tongji(); echo '<hr>'; function jishu() { $m = 0; echo $m; $m++; } jishu(); jishu(); jishu();
输出结果:
0123
00000
以上がPHP チュートリアル: PHP カスタム関数アプリケーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。