您好,登錄后才能下訂單哦!
(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í)分享資料視頻
免責(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)容。