溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP系列(二)PHP函數(shù)的聲明與應(yīng)用

發(fā)布時(shí)間:2020-06-09 17:14:10 來源:網(wǎng)絡(luò) 閱讀:343 作者:sswqzx 欄目:web開發(fā)

(1)函數(shù)的定義和應(yīng)用

function 函數(shù)名(參數(shù)1,參數(shù)2,參數(shù)3......

?{

??? 函數(shù)體

?????return 返回值

?

?

<?php

table(3,8,"學(xué)生成績表","red","green");

function table($row,$col, $tablename, $bgcolor1,$bgcolor2)

{

?echo "<table border=1 width=800>";

?echo"<caption><h2>".$tablename."</h2></caption>";

??$i=0;

??$k=0;

??while($i<$row){

?

?if($i%2==0)

?????$bgc=$bgcolor1;

??else

?????$bgc=$bgcolor2;

?

??echo "<tr bgcolor='".$bgc."'>";

??$j=0;

?while($j<$col)

{

??echo "<td>".$k++."</td>";

???$j++;

}

echo "</tr>";

$i++;

}

?echo"</table>";

}

?

table(5,2,"學(xué)生信息表","yellow","bule");

table(8,12,"學(xué)生表","#f00ff","#ffffaa");

?>

顯示出三個(gè)表(學(xué)生成績表,學(xué)生信息表,學(xué)生表)

?

2)函數(shù)局部變量

?

函數(shù)體結(jié)束、變量釋放

<?php

function fun1()

{??

??$a=100;

??echo $a;

}

?

function fun2()

{

?$b=200;

?echo $b;

}

fun1();

fun2();

?>

顯示:

100

200

?

3)函數(shù)的全局變量

?

<?php

$a=200;

$b=500;

function fun1()

{

?echo $GLOBALS["a"];

??

}

?

function fun2()

{

???global $b;

???echo $b;

}

fun1();

fun2();

?>

顯示:

200

500

?

?

4)函數(shù)的靜態(tài)變量

?

靜態(tài)變量用在累加

<?php

function test()

{

??static $a=0; //靜態(tài)變量

??echo $a."<br>";

???$a++;

}

test();

test();

test();

?>

顯示:

0

1

2

?

function_exists();判斷函數(shù)是否存在

<?php

function test()

{

??static $a=0;

??$a++;

}

?test();

if(function_exists("test1")){

???????? echo"test1 is exists";

}else{

???????? echo"test1 is not exists";

}?>

顯示:test1 is exists

?

函數(shù)參數(shù)傳遞

<?php

?function fun1($a=1, $b=2, $c=3, $d=4, $e=5)

{

??echo $a."<br>";

??echo $b."<br>";

??echo $c."<br>";

??echo $d."<br>";

??echo $e."<br>";

?

}

fun1(a,b,c,d);

?>

顯示:a b c d 5

?

?

func_get_args(); //獲取方法中參數(shù)的數(shù)組

<?php

function fun($a)

{

??$args=func_get_args(); //獲取方法中參數(shù)的數(shù)組

???echo count($args);

???echo "<br>";

???echo $args[4];

}

fun(1,2,3,5,688);

?>

顯示為:5? 688

5)變量函數(shù)

?

<?php

function test()

{

????echo "#######<br>";

}

$a=test;

$a();

?>//變量函數(shù)

顯示:#######

?

6)遞歸函數(shù)

?

<?php

function demo($a){

?echo "#####".$a."<br>";

? if($a>0)

?demo(--$a);

}

demo(3);

?>//遞歸函數(shù)

顯示為:

#####3

#####2

#####1

#####0

?

?

<?php

function demo($a){

?if($a > 1){

???$r=$a*demo($a-1);

??}else {

??$r=$a;

? }

return $r;

}

echo demo(4);

?>遞歸調(diào)用

4x3x2x1=24

?

function fun($a){

???????? echo$a."<br>";

???????? if($a>0){

?????????????????? fun($a-1);

???????? }else{

?????????????????? echo"-------<br>";

?????????????????? }

???????? echo$a."<br>";

}

fun(4);

顯示:

4
3
2
1
0
-------
0
1
2
3
4

?

(7)回調(diào)函數(shù)

函數(shù)當(dāng)作參數(shù)傳遞

function ?fnCallBack( $msg1 , $msg2 )

{

???echo 'msg1:'.$msg1;

???echo "<br />\n";

???echo 'msg2:'.$msg2;

}

$fnName = "fnCallBack";

$params = array( 'hello' , 'world' );

call_user_func_array( $fnName , $params );

顯示為:

msg1:hello

msg2:world

?

$arr = array(1,5,7);

Function mycon($a,$b){

???????? If($a>$b){

???????? Return1;

}elseif($a<$b){

Return -1;

}else{

Return 0;

}

}

Usort($arr,”mycon”);

Print_r($arr);

?

(8)內(nèi)部函數(shù)

?

<?php

function demo($php,$java,$oracle){

?function php($php){

?????if($php >=60 && $php<=100){

?????return "php成績及格";

??????else{

???????return "php成績不及格";

??????

?

?function java($java){

?????if($java >=60 && $java<=100){

?????return "java成績及格";

??????else{

???????return "java成績不及格";

??????

?

?function oracle($oracle){

?????if($oracle >=60 && $oracle<=100){

?????return "oracle成績及格";

??????else

{

???????return "oracle成績不及格";

??????

?

echo php($php)."<br>";

echo java($java)."<br>";

echooracle($oracle)."<br>";

?

?

$total=$php+$oracle+$java;

$anv=$total/3;

?

echo "你的總成績是".$total."<br>";

echo "你的平均成績是".$anv."<br>";

}

demo(10,80,70);

?>

顯示為:

php成績不及格
java
成績及格
oracle
成績及格
你的總成績是160
你的平均成績是53.3333333333

?

(9)加載自定義函數(shù)庫

Include()?速度快腳本執(zhí)行包含時(shí)、當(dāng)處理失敗時(shí)、會(huì)產(chǎn)生一個(gè)警告、

Require() 會(huì)導(dǎo)致一個(gè)致命錯(cuò)誤

require()將一個(gè)文件在預(yù)處理期間被導(dǎo)入、像把該文件粘貼到使用函數(shù)的地方

include_once? require_once這二個(gè)函數(shù)如果被包含了。只會(huì)被包含一次、不會(huì)重復(fù)

?

10)匿名函數(shù)

<?php
$greet?=?function($name){
????printf("Hello?%s\r\n",?$name);
};
$greet('World');
$greet('PHP');

(11)php引用參數(shù)的函數(shù)

只有在內(nèi)存變量中才有地址、有引用關(guān)系的二個(gè)變量、一個(gè)變、另一個(gè)就變、

如果在函數(shù)說明中、有&出現(xiàn)、說明這個(gè) 參數(shù)是一個(gè)引用參數(shù)、調(diào)用時(shí)傳參數(shù)時(shí)、就必須傳一個(gè)變量

?

$b= 20;

functiondemo(&$a){

??? $a=100;

}

echo$b."<br>";

demo($b);

echo$b."<br>";

顯示為:

20

100

?微信掃一掃?、關(guān)注公眾號(hào)

?? 不定時(shí)分享資料視頻

PHP系列(二)PHP函數(shù)的聲明與應(yīng)用


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI