PHP関数の宣言と使用法

大家讲道理
大家讲道理オリジナル
2017-05-28 09:42:411637ブラウズ


1. 関数名は識別子の 1 つであり、英数字のアンダースコアのみを使用でき、数字で始めることはできません。 ()、func() 、Func();

関数名は大文字と小文字が区別されません;

関数名は、既存の関数または組み込み関数名と同じ名前にすることはできません;

2. function_exists("func" ); 関数が宣言されているかどうかを検出するために使用されます。

が 1 の場合、関数の外で使用する必要がある場合は、 を使用する必要があります。返す関数内の return キーワード

2. グローバル変数: 関数の外で宣言された変数は、 3

と呼ばれます。関数内でグローバル変数を使用する必要がある場合、

グローバル変数を使用する場合は、関数内で

変数名 を使用する必要があります。変数名、グローバルの上は関数のローカル変数、グローバルの下は関数のグローバル変数です。

4.$GLOBALS[''] Global

array; a3'] 配列は、PHP によって組み込まれたグローバル配列であり、関数の内部または外部で宣言されたかどうかに関係なく、どこでも直接使用できます。 'a3'] =10;

5. 関数でグローバル変数を使用する別の方法があります: パラメータにパラメータを渡すことにより、グローバル変数を関数内で使用できます。 ただし、渡された後のパラメータはローカル変数であり、内部的に変更され、そうでない限り外部には変更されません。渡されたパラメータはアドレスです .function func($a1,&$a2){}func($a1,$a2);

(理由) $a1 はローカル変数であり、内部で変更されます$a2 は内部変数のアドレスでもあり、外部的には変更されません。 ;

静的変数】

静的変数: を使用します。 static キー Word 宣言、static $num=10;

静的変数の特性:

静的変数は、関数が初めてロードされるときに宣言されます

静的変数はすぐには解放されません。関数の使用後、静的変数はスクリプトの実行全体で 1 回だけ宣言されます。同じ関数が複数回呼び出され、同じ静的変数を共有します。的 [関数 送信方法のパラメータ]

PHP の固体の数は、正式な高麗人参よりも多くすることはできません。それ以外の場合は、エラーが報告されます。 1. 従来のパラメータ転送:

関数 fun($a){

$a+=10;

return $a;

}

echo fun(10);

2.型パラメータを引用:

$a=10;

function func(&$a){

$a+=10;

}func($b);

参照パラメータが渡され、変数は関数内で変更され、変更は関数の外部で同期されます

仮パラメータは参照パラメータです。 、実際のパラメータは変数のみにすることができ、リテラルにすることはできません。

3. デフォルトパラメータ:

function func($a,$b=10){

return $a+$b;

}

echo func(30 ); //$b のデフォルト パラメータは 10 です

パラメータにデフォルト パラメータとデフォルト以外のパラメータの両方がある場合、デフォルト パラメータ リストはデフォルト以外のパラメータ リストの後になければなりません。デフォルト以外のパラメータは保証される必要があります。 割り当て順序。

func_get_args(); //すべてのパラメータのリスト (配列) を取得します

func_num_args(); //すべてのパラメータの合計数を取得します。 count(func_num_args() ); 変数​​。この変数は変数関数と呼ばれるもので、() を追加して関数の内容を呼び出すことができます。

[コールバック関数]1.変数関数を使用して、clowed 2 つの関数の最初のパラメータは、現在のコールバックを示すコールバック関数です。

異なる点は、call_user_func_array() の 2 番目のパラメータが配列であり、配列の各値がコールバック関数のパラメータ リスト (js の apply() に相当)、call_user_func はコールバック関数のパラメータ リストであり、2 番目のパラメータ (コールバック関数) に相当します。 js;

eg:call_user_func_array("func",array(1,2,3));---> func(1,2,3);

call_user_func("func" 1) ,2,3);---->func(1,2,3);

[

匿名関数 ]

変数関数を呼び出す方法はたくさんあるので、$fun( )/func() では、関数呼び出しをより統一するために、匿名関数が作成されました。

匿名関数の関数本体の後に「;」を宣言することが必須です!!!匿名関数自体も変数であり、var_dump;

を使用してオブジェクトクラス

型として検出されます

=
例: 数値の階層を計算します:

function jiec($num){    static $jie=1;    //函数执行完不会立即释放
    if($num>0){
        $jie*=$num;   //3
        jiec(--$num);
    }    return $jie;
}
 echo jiec(10);

指的是在函数内部,调用函数自身的操作;当外层函数体中,遇到自身函数调用,继续进入内层函数执行,而自身函数的后半部分暂不执行,知道最内层函数执行完以后,在逐步向外执行;



function func($num){
     echo $num."<br/>";    if($num>0){
        func($num-1);   //func(--$num);   试一试又不一样的结果哟!   //func($num--);    }
    echo $num."<br/>";
 }func(10);

                                [include/require]
   1.两者的作用就是用于引入外部的PHP文件到当前文件中:include 'a.php';include ('a.php');
   2.两者的区别:(对于错误的处理不同)当引入文件错误时,include会产生警告,并不影响后续代码的执行,而require会产生错误,后续代码不再执行;
   3.一般当用于在文件最上方导入某些文件时,使用require导入,如果失败,则不执行文件;
     如果是在某些分支条件中,导入执行某些操作,一旦报错不影响执行结果。
   4.include_oncerequire_once表示:文件只能导入一次,如果多次调用函数,则后面的文件会判断文件是否导入,再决定是否导入新文件。
     (检测文件是否导入时只关心文件是否已经导入,并不关心使用何种方式导入的。)
   5.include/require可以导入各种类型的文件,相当于在当前文件copy了一份,但是copy过程中,PHP引擎会进行适当的编译,确保不会出错。
   6.include和require是函数也是指令!PHP对于很多常用函数,会提供执行的写法,eg:函数写法echo("111");指令写法echo "111";
  

 

以上がPHP関数の宣言と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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