PHP関數(shù)の基本構(gòu)文 カスタム関數(shù)
PHP は強(qiáng)力な関數(shù)を提供しますが、プログラマーが必要に応じて関數(shù)を自分で作成できるわけではありません。このセクションでは、関數(shù)の作成方法を?qū)Wび始めます。
実際の開発プロセスでは、繰り返し使用する必要のある関數(shù)が多數(shù)必要になりますが、繰り返し使用する必要がある関數(shù)は、可能な限り関數(shù)(関數(shù))として定義することができます。使用するときは名前を叫ぶだけです。
次に、カスタム関數(shù)の文法規(guī)定を?qū)W習(xí)しましょう。 文法規(guī)定は次のとおりです。
function 函數(shù)名([參數(shù)名1[=值1], 參數(shù)名2[=值2], 參數(shù)名n[=值n]]) { 函數(shù)中的功能體 [return 返回值] }
上記の文法規(guī)定には次の特徴が見つかり、次のような不特定の言語が生成されます。
1. 関數(shù)は関數(shù)
で始まります。2. 関數(shù)の後にスペースが続き、スペースの後に関數(shù)名が続きます
3. 関數(shù)名と変數(shù)の命名規(guī)則は基本的に同じですが、違いは次のとおりです: 関數(shù)名では大文字と小文字が區(qū)別されません。いわゆるパラメータは実際には変數(shù)です。 5. 関數(shù)名の後に括弧が続き、パラメータはすべて [] (角括弧) で囲まれます。これは、パラメータが入力できるかどうかを意味します。 6. パラメータがある場合、パラメータの後に等號 (=) を続けることができ、等號の後にデフォルト値が続きます。パラメーター値も [] (角括弧) で囲まれており、オプションを表します
7. 関數(shù)の後のパラメーター変數(shù)の主な機(jī)能は、関數(shù)の外にある変數(shù)値を関數(shù)本體に渡すことです。関數(shù)本體內(nèi)の変數(shù)と関數(shù)本體外の変數(shù)は通常、2 つの異なる変數(shù)です。
8. 関數(shù)內(nèi)の特定の関數(shù) (関數(shù)本體) は中括弧で囲まれています。これは、これが関數(shù)の関數(shù)範(fàn)囲であることを意味します
9. 関數(shù)は戻り値を持つことも、戻り値を持たないこともあり、[ で囲まれます) ] (角括弧) 上にある場合は、オプションであることを意味します。
10. Return の後にスペースがあり、Return の後にスペースが続く場合、Return の後のコードは実行されません。
11. 関數(shù)の実行には順序関係がなく、定義の前に呼び出すことができます
12. 関數(shù)を 2 回定義することはできません。つまり、関數(shù)をオーバーロードすることはできません
覚えておいてください: さらに記述する必要もあります実験するためのコードです!
これらの點(diǎn)は実験を通じて少しずつ証明していきます。 1. 関數(shù)はどこに呼び出しても、あなたに従います
<?php function php_cn(){ echo '我是一條狗'; } php_cn(); php_cn(); php_cn(); ?>
php_cn。この関數(shù)は次の 3 つの段落を表示します。
2 関數(shù)名
には、文字、數(shù)字、アンダースコアの組み合わせのみを使用できます。変數(shù)名の先頭に數(shù)字を入れることはできません。<?php function 1demo(){ } ?>
上記のコードはエラーを報(bào)告します。関數(shù)の名前と変數(shù)の名前付け3. 関數(shù)名と変數(shù)の名前付け規(guī)則は同じですが、違いは、関數(shù)名では大文字と小文字が區(qū)別されないことです
<?php function Demo(){ echo '如果是寫代碼的男人,我們需要更加承擔(dān)來自家庭的責(zé)任<br />'; } demo(); Demo(); DEMO(); ?>
上記のコードを?qū)g行すると、次の 3 行が表示されることがわかります。コードを書いているのが男性である場合、家族はもっと責(zé)任を取る必要があります
。
つまり、関數(shù)名は呼び出されるときに大文字と小文字が區(qū)別されません。関數(shù)は、その名前を繰り返し呼び出し、繰り返し実行できます。再利用の特性も反映されています。
4. 関數(shù)本體のパラメータが定義されていてパラメータが渡されていない場合、コードはエラーを報(bào)告します
<?php //定義函數(shù)名為test,必須要傳入一個(gè)參數(shù) function test($hello){ } test(); ?>
自分で段落を書いて試してみてください。エラーが報(bào)告されますか?
5. 関數(shù)の後のパラメータにデフォルト値がある場合、パラメータを入力する必要はなく、コードはエラーを報(bào)告しません
<?php function test( $arg = 10){ echo $arg; } test(); test(88); ?>
エラーはありませんか?そして10と表示されて出てきました。
パラメータが渡されると、それらは関數(shù)に取り込まれることに注意してください。関數(shù)がパラメータを渡さない場合は、パラメータの後のデフォルト値が使用されます。
6. 関數(shù)の後に複數(shù)のパラメータを記述することができます
<?php function test( $a , $b = 20 , $c = 30){ echo $a + $b + $c; } test( 1 , 2 , 3 ); ?>
上記のコードを自分で記述してください。複數(shù)のパラメータを渡しましたか?
7. 関數(shù)の後にデフォルト値のあるパラメータとデフォルト値のないパラメータがある場合、通常はデフォルト値のないパラメータが前に書かれます
前の3と4の実験では、デフォルト値がこのパラメータを表すことがわかりました。値を渡す必要はありません。デフォルト値がない場合、コードはエラーを報(bào)告します。つまり、デフォルト値のないパラメータを渡す必要があります。次の例を見てみましょう:
<?php function test( $a = 20 , $b = 30 , $c ){ echo $a + $b + $c; } //重點(diǎn):重點(diǎn)看這一行執(zhí)行一下 test( , , 8 ); ?>
上記の例を通じて、上記のコードの実行時(shí)に別のエラーが報(bào)告されたことがわかりました。つまり、上記の構(gòu)文は機(jī)能しません。
上記の構(gòu)文で期待しているのは、パラメーター $a とパラメーター $b の値を渡さないことです。パラメータ $c を渡す必要があります。ここでは 8 を渡しました。しかし、PHP の文法規(guī)則により、これを書くことはできません。したがって、記述方法を変更することで同じ効果を得ることができます:
<?php function test( $c , $a = 20 , $b = 30){ echo $a + $b + $c; } //重點(diǎn):重點(diǎn)看這一行執(zhí)行一下 test( 8 ); ?>
上記の実験例を通して、パラメーター $c を渡しても、コードがエラーを報(bào)告しないことがわかりましたか。パラメータ $a = 20 およびパラメータ $b = 30 もコード $a + $b + $c に組み込まれます。
8. 関數(shù)本體內(nèi)の変數(shù)と関數(shù)外の変數(shù)の間には関係がない
<?php //定義變量$hello的值為10 $hello = 10; //函數(shù)后的參數(shù)(形式上的參數(shù),參數(shù))處寫上變量名為$hello function demo( $hello ){ //形參帶入了函數(shù)體內(nèi),函數(shù)體內(nèi)變量$hello 改為了 250 $hello = 250; //輸入2個(gè)250相加的結(jié)果 echo $hello + $hello; } //將函數(shù)體外的變量$hello,傳入變量的參數(shù)處(實(shí)際傳入的參數(shù),實(shí)參),顯示出的結(jié)果為500 demo($hello); //此處$hello的值輸出,依然為10 echo $hello; ?>
上記の例を通して、仮パラメータと実パラメータの間に変化點(diǎn)の関係がないことがわかりました。関數(shù)本體で渡される仮パラメータがどのように変更されても、実際のパラメータ $hello の実際の結(jié)果には影響しません。
9. 関數(shù)本體にreturnがあると、return以降のコードは実行されません
<?php function demo(){ echo 111; return; echo 222; } demo(); ?>
お?dú)荬扭扦工?——111のみ出力されます。
10. returnは関數(shù)本體の値を関數(shù)本體から取り出すことができます
<?php //定義一條函數(shù)狗 function php_cn(){ $foo = 5; $bar = 6; $result = $foo + $bar; //將$result的結(jié)果進(jìn)行返回 return $result; } //調(diào)用php_cn()這個(gè)函數(shù),$foo和$bar相加的$result就會返回回來給到變量$piao $piao = php_cn(); //輸出$piao的結(jié)果,果真為11 echo $piao; ?>
11. 関數(shù)の実行には順序関係はありません。定義前の位置
<?php demo(); function demo(){ $str = '爸爸媽媽年齡越來越大'; $str .= '大多數(shù)的孩子都是獨(dú)生子女,更加應(yīng)該負(fù)起責(zé)任'; echo $str; } demo(); ?>
上記により、この例では、関數(shù)が定義される前でも後でも呼び出せることが分かりました。つまり、関數(shù)はどこからでも呼び出すことができます。
11. 関數(shù)はオーバーロードできません
<?php function demo(){ } function demo(){ } //試試會報(bào)錯(cuò)嗎? ?>
上記の例でエラーが報(bào)告されたことがわかりました。つまり、同じ名前の関數(shù)を2回定義することはできず、そうでない場合はエラーが報(bào)告されます
代入:
1. 2 層ループを定義し、1 行おきに色を変更します
2. このフォームは必須です。デフォルト値は 10 と 10 で、色の 1 つはデフォルト パラメータで、もう 1 つはデフォルト パラメータがありません
3. テーブルの文字列を返します