PHP関数の基本構文 カスタム関数

PHP は強力な関数を提供しますが、プログラマーが必要に応じて関数を自分で作成できるわけではありません。このセクションでは、関数の作成方法を学び始めます。

実際の開発プロセスでは、繰り返し使用する必要のある関数が多数必要になりますが、繰り返し使用する必要がある関数は、可能な限り関数(関数)として定義することができます。使用するときは名前を叫ぶだけです。

次に、カスタム関数の文法規定を学習しましょう。 文法規定は次のとおりです。

function 函数名([参数名1[=值1], 参数名2[=值2], 参数名n[=值n]])
{
       函数中的功能体
    [return 返回值]
}

上記の文法規定には次の特徴が見つかり、次のような不特定の言語が生成されます。

1. 関数は関数

で始まります。

2. 関数の後にスペースが続き、スペースの後に関数名が続きます

3. 関数名と変数の命名規則は基本的に同じですが、違いは次のとおりです: 関数名では大文字と小文字が区別されません。いわゆるパラメータは実際には変数です。 5. 関数名の後に括弧が続き、パラメータはすべて [] (角括弧) で囲まれます。これは、パラメータが入力できるかどうかを意味します。 6. パラメータがある場合、パラメータの後に等号 (=) を続けることができ、等号の後にデフォルト値が続きます。パラメーター値も [] (角括弧) で囲まれており、オプションを表します

7. 関数の後のパラメーター変数の主な機能は、関数の外にある変数値を関数本体に渡すことです。関数本体内の変数と関数本体外の変数は通常、2 つの異なる変数です。

8. 関数内の特定の関数 (関数本体) は中括弧で囲まれています。これは、これが関数の関数範囲であることを意味します

9. 関数は戻り値を持つことも、戻り値を持たないこともあり、[ で囲まれます) ] (角括弧) 上にある場合は、オプションであることを意味します。

10. Return の後にスペースがあり、Return の後にスペースが続く場合、Return の後のコードは実行されません。

11. 関数の実行には順序関係がなく、定義の前に呼び出すことができます

12. 関数を 2 回定義することはできません。つまり、関数をオーバーロードすることはできません

覚えておいてください: さらに記述する必要もあります実験するためのコードです!

これらの点は実験を通じて少しずつ証明していきます。 1. 関数はどこに呼び出しても、あなたに従います

<?php

function php_cn(){

   echo '我是一条狗';
}

php_cn();
php_cn();
php_cn();
?>

php_cn。この関数は次の 3 つの段落を表示します。

2 関数名

には、文字、数字、アンダースコアの組み合わせのみを使用できます。変数名の先頭に数字を入れることはできません。

<?php
function 1demo(){
}
?>

上記のコードはエラーを報告します。関数の名前と変数の名前付け3. 関数名と変数の名前付け規則は同じですが、違いは、関数名では大文字と小文字が区別されないことです

<?php

function Demo(){

   echo '如果是写代码的男人,我们需要更加承担来自家庭的责任<br />';
}

demo();
Demo();
DEMO();

?>

上記のコードを実行すると、次の 3 行が表示されることがわかります。コードを書いているのが男性である場合、家族はもっと責任を取る必要があります

つまり、関数名は呼び出されるときに大文字と小文字が区別されません。関数は、その名前を繰り返し呼び出し、繰り返し実行できます。再利用の特性も反映されています。

4. 関数本体のパラメータが定義されていてパラメータが渡されていない場合、コードはエラーを報告します

<?php

//定义函数名为test,必须要传入一个参数
function test($hello){


}

test();
?>

自分で段落を書いて試してみてください。エラーが報告されますか?

5. 関数の後のパラメータにデフォルト値がある場合、パラメータを入力する必要はなく、コードはエラーを報告しません

<?php
function test( $arg = 10){

       echo $arg;

}

test();

test(88);

?>

エラーはありませんか?そして10と表示されて出てきました。
パラメータが渡されると、それらは関数に取り込まれることに注意してください。関数がパラメータを渡さない場合は、パラメータの後のデフォルト値が使用されます。

6. 関数の後に複数のパラメータを記述することができます

<?php
function test( $a , $b = 20 , $c = 30){

       echo $a + $b + $c;

}

test( 1 , 2 , 3 );
?>

上記のコードを自分で記述してください。複数のパラメータを渡しましたか?

7. 関数の後にデフォルト値のあるパラメータとデフォルト値のないパラメータがある場合、通常はデフォルト値のないパラメータが前に書かれます

前の3と4の実験では、デフォルト値がこのパラメータを表すことがわかりました。値を渡す必要はありません。デフォルト値がない場合、コードはエラーを報告します。つまり、デフォルト値のないパラメータを渡す必要があります。次の例を見てみましょう:

<?php
function test( $a = 20 , $b = 30 , $c ){

       echo $a + $b + $c;

}

//重点:重点看这一行执行一下
test(  ,  , 8 );
?>

上記の例を通じて、上記のコードの実行時に別のエラーが報告されたことがわかりました。つまり、上記の構文は機能しません。
上記の構文で期待しているのは、パラメーター $a とパラメーター $b の値を渡さないことです。パラメータ $c を渡す必要があります。ここでは 8 を渡しました。しかし、PHP の文法規則により、これを書くことはできません。したがって、記述方法を変更することで同じ効果を得ることができます:

<?php
function test( $c , $a = 20 , $b = 30){

       echo $a + $b + $c;

}

//重点:重点看这一行执行一下
test( 8 );
?>

上記の実験例を通して、パラメーター $c を渡しても、コードがエラーを報告しないことがわかりましたか。パラメータ $a = 20 およびパラメータ $b = 30 もコード $a + $b + $c に組み込まれます。

8. 関数本体内の変数と関数外の変数の間には関係がない

<?php
//定义变量$hello的值为10
$hello = 10;


//函数后的参数(形式上的参数,参数)处写上变量名为$hello
function demo( $hello ){

   //形参带入了函数体内,函数体内变量$hello 改为了 250
   $hello = 250;

   //输入2个250相加的结果
   echo $hello + $hello;

}


//将函数体外的变量$hello,传入变量的参数处(实际传入的参数,实参),显示出的结果为500
demo($hello);

//此处$hello的值输出,依然为10
echo $hello;
?>

上記の例を通して、仮パラメータと実パラメータの間に変化点の関係がないことがわかりました。関数本体で渡される仮パラメータがどのように変更されても、実際のパラメータ $hello の実際の結果には影響しません。

9. 関数本体にreturnがあると、return以降のコードは実行されません

<?php

function demo(){

   echo 111;

   return;

   echo 222;

}

demo();
?>

お気づきですか? ——111のみ出力されます。

10. returnは関数本体の値を関数本体から取り出すことができます

<?php

//定义一条函数狗
function php_cn(){

   $foo = 5;

   $bar = 6;

   $result =  $foo + $bar;
   //将$result的结果进行返回
   return $result;

}

//调用php_cn()这个函数,$foo和$bar相加的$result就会返回回来给到变量$piao
$piao = php_cn();

//输出$piao的结果,果真为11
echo $piao;

?>

11. 関数の実行には順序関係はありません。定義前の位置

<?php

demo();
function demo(){

   $str = '爸爸妈妈年龄越来越大';
   $str .= '大多数的孩子都是独生子女,更加应该负起责任';

   echo $str;
}

demo();
?>

上記により、この例では、関数が定義される前でも後でも呼び出せることが分かりました。つまり、関数はどこからでも呼び出すことができます。

11. 関数はオーバーロードできません

<?php

function demo(){

}

function demo(){

}
//试试会报错吗?
?>

上記の例でエラーが報告されたことがわかりました。つまり、同じ名前の関数を2回定義することはできず、そうでない場合はエラーが報告されます


代入:

1. 2 層ループを定義し、1 行おきに色を変更します

2. このフォームは必須です。デフォルト値は 10 と 10 で、色の 1 つはデフォルト パラメータで、もう 1 つはデフォルト パラメータがありません

3. テーブルの文字列を返します


学び続ける
||
<?php //定义一条函数狗 function php_cn(){ $foo = 5; $bar = 6; $result = $foo + $bar; //将$result的结果进行返回 return $result; } //调用php_cn()这个函数,$foo和$bar相加的$result就会返回回来给到变量$piao $piao = php_cn(); //输出$piao的结果,果真为11 echo $piao; ?>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜