亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁課程PHP Fun Breakthrough Class自定義函數(shù)介紹

自定義函數(shù)介紹

目錄列表

自定義函數(shù)介紹

PHP提供了功能強(qiáng)大的函數(shù),但這遠(yuǎn)遠(yuǎn)滿足不了需要,程序員可以根據(jù)需要自己創(chuàng)建函數(shù)。本節(jié)就開始學(xué)習(xí)創(chuàng)建函數(shù)的方法。

我們在實(shí)際開發(fā)過程當(dāng)中需要有很多功能都需要反復(fù)使用到,而這些反復(fù)需要使用到的功能,我們能定義成功能(函數(shù)),就盡可能定義成功能(函數(shù))。使用的時(shí)候,吼一下它的名字即可。

那我們來學(xué)一下自定義函數(shù)的語法規(guī)定,語法規(guī)定如下:

function 函數(shù)名([參數(shù)名1[=值1], 參數(shù)名2[=值2], 參數(shù)名n[=值n]])
{
      // 函數(shù)中的功能體
       
    // return 返回值
}
//調(diào)用函數(shù)
函數(shù)名()

上面的語法規(guī)定中發(fā)現(xiàn)了如下特點(diǎn),產(chǎn)生如下語未能規(guī)定:

  • 函數(shù)以function開始

  • function后面接空格,空格后接函數(shù)名

  • 函數(shù)名與變量命名規(guī)則基本一樣,但是不同的是:函數(shù)名不區(qū)分大小寫(變量命名規(guī)則不記得的,回頭看看)

  • 所謂參數(shù)其實(shí)就是變量

  • 如果有參數(shù)的話,參數(shù)后可以接(=)等號,等號接默認(rèn)值。參數(shù)值也是用[](中括號)括起來的,代表選填

  • 函數(shù)后的參數(shù)變量,主要功能是把函數(shù)體外的變量值,傳入函數(shù)體內(nèi)來使用,函數(shù)體的變量和函數(shù)體外的變量通常是兩個(gè)不同的變量。

  • 函數(shù)中的具體功能(功能體)用大括號括起來,代表這是一個(gè)函數(shù)的功能區(qū)間

  • 函數(shù)可以有返回值也可以沒有返回值,用[](中括號)括起來的,代表選填。

  • return后接空格,空格后接返回值,若有return,return后的代碼均不執(zhí)行。

  • 函數(shù)的執(zhí)行沒有順序關(guān)系,可以在定義處之前的位置調(diào)用

  • 函數(shù)不能被定義兩次,即函數(shù)不能被重載

<?php function php_cn(){ "我愛PHP中文網(wǎng)";}echo php_cn(); ?> 這個(gè)代碼會(huì)不會(huì)在頁面中顯示"我愛PHP中文網(wǎng)"嗎嘛?

自定義函數(shù)

切記:你也要多寫代碼來進(jìn)行實(shí)驗(yàn)!

1.函數(shù)是條狗,哪里調(diào)用哪里哪,它就跟著你走:

<?php

function php_cn(){
   echo 'PHP中文網(wǎng)';
}
php_cn(); // PHP中文網(wǎng)
php_cn();  // PHP中文網(wǎng)
php_cn();  // PHP中文網(wǎng)

?>

2.函數(shù)名只能是字母,數(shù)字,下劃線的組合,并且之間不能包含空格,數(shù)字不能放在變量名首位:

<?php
function 1demo(){ // 報(bào)錯(cuò)
    
}
?>

3. 函數(shù)名與變量命名規(guī)則一樣,但是不同的是:函數(shù)名不區(qū)分大小寫:

<?php

function Demo(){

   echo 'PHP中文網(wǎng)<br />';
}

demo(); // PHP中文網(wǎng)
Demo(); // PHP中文網(wǎng)
DEMO(); // PHP中文網(wǎng)

?>

4. 函數(shù)體的參數(shù)若是定義了,未傳參數(shù),代碼會(huì)報(bào)錯(cuò):

<?php
//定義函數(shù)名為test,必須要傳入一個(gè)參數(shù)
function test($hello){

}
test();
?>

5. 函數(shù)后的參數(shù)如果有默認(rèn)值,參數(shù)可以不填,代碼也不會(huì)報(bào)錯(cuò):

<?php
function test( $arg = 10){
       echo $arg;
}
test(); // 10
echo '<br>';
test(88); // 88

?>

6. 函數(shù)后的參數(shù)可以寫多個(gè):

<?php
function test( $a , $b = 20 , $c = 30){
       echo $a + $b + $c;
}
test( 1 , 2 , 3 ); // 6
?>

7. 函數(shù)后如果有默認(rèn)值和無默認(rèn)值的參數(shù),通常把無默認(rèn)值的參數(shù)寫在最前面:

<?php
function test( $a = 20 , $b = 30 , $c ){
       echo $a + $b + $c;
}
//重點(diǎn):重點(diǎn)看這一行執(zhí)行一下
test(  ,  , 8 ); // 報(bào)錯(cuò)
?>

8. 函數(shù)體的變量與函數(shù)體外的變量沒有關(guān)系:

<?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;
?>

9. 函數(shù)體中若有return,return 后的代碼不執(zhí)行:

<?php

function demo(){
   echo 111;
   return;
   echo 222;
}
demo(); // 111
?>

10. 函數(shù)執(zhí)行完后,return 可把函數(shù)體內(nèi)的值,帶帶函數(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就會(huì)返回回來給到變量$piao
$piao = php_cn();
//輸出$piao的結(jié)果,果真為11
echo $piao;

?>

11. 函數(shù)的執(zhí)行沒有順序關(guān)系,可以在定義處之前的位置調(diào)用:

<?php

demo();
function demo(){
   $str = '我愛';
   $str .= 'PHP中文網(wǎng)';

   echo $str;
}

demo();
?>

11. 函數(shù)不能重載:

<?php

function demo(){
echo 123;
}
function demo(){
echo 123;
}
demo() // 報(bào)錯(cuò)
//試試會(huì)報(bào)錯(cuò)嗎?
?>



以下哪些自定義函數(shù)是正確的?