php手冊中文版,PHP筆記 17 18 19 20 21
php手冊中文版,PHP筆記 17 18 19 20 21
目錄
- 自定義函數
- 參數
- 函數返回值
- PHP變量的范圍
- 局部變量
- 全局變量
- 靜態變量
- 參數的傳遞
- 按值傳遞參數
- 按引用傳遞參數
- 函數的默認參數
- 可變長度參數
- 可變函數(變量函數)
- **遞歸函數**
- 內部(內置)函數
自定義函數
<?php
function text()
{echo '你好!';
}
text();
注意:function后跟自定義函數。
php手冊中文版、末尾的text():為函數的調用,與前面的保持一致,同時text():放在自定義函數前,也能實現。
函數的調用需要遵守定義函數的時候寫的規則,一一對應,將具體的實際參數傳給定義函數時候寫的形式參數;
調用函數之后執行的過程是相對獨立的,互不干擾的,默認沒有聯系。
參數
php論壇。形式參數由零個,一個或多個變量組成。
實際參數由零個,一個或多個參數組成,每個參數是一個表達式,用逗號隔開。
<?php
function add($a,$b)//形式參數,一種形式,在這里,沒有具體的值
{echo $a+$b;
}
add(2,3);//實際參數
?>
函數返回值
是將函數執行后的結果返回給調用者,默認值如果不寫返回,則函數的返回值為NULL。
<?php
function add($a,$b)
{return $a+$b;//返回值給調用的地方,結束這個函數的運行。
}
var_dump(add(2,3));//可輸出
?>
調用了add函數
<?php
function add($a,$b)
{return $a+$b;
}
$i=add(2,3);
echo $i;
?>
PHP變量的范圍
局部變量
php入門。局部變量也稱內部變量,是在函數內定義的,其作用域僅限于函數內部(即為{ }內),離開函數后再使用這種變量就是非法的錯誤的。
<?php
function add(){$i=22;echo $i;//有意義
}
echo $i;//無意義
add();
全局變量
也叫外部變量,在函數的外部定義的,它的作用域為從變量定義處開始,到本程序,文件末尾。
但在PHP函數中無法直接使用全局變量,如需使用,必須用global聲明變量。
<?php
$i=10;
function add(){global $i;//聲明$i為全局變量,然后在這個函數內部就可以使用$i;echo $i;
}
add();
靜態變量
在函數內部定義變量時,使用static關鍵字來定義變量。
<?php
function add(){static $i=23;//靜態變量,僅在第一次調用時執行,echo ++$i;//當第二次執行這個函數的時候,$i這個變量依舊存在
}
add();
echo'<br />';
add();
而缺少關鍵字
<?php
function add(){$i=22;echo ++$i;//有意義
}
add();
echo'<br />';
add();
參數的傳遞
按值傳遞參數
默認的,我們在傳遞參數的時候默認使用的就是這個方式。
對于形式參數的操作,根本不是影響到實際參數(變量)的值,兩者 相當于沒有聯系!
<?php
function add($i){echo ++$i;
}
$i=10;
add($i);
echo '<br />'.$i;
按引用傳遞參數
按引用傳遞參數,相當與形式參數和實際參數指的是同一個人,只是名字不一樣,對于形式參數的操作會直接影響到實際的參數(變量)
<?php
function add(&$i){echo ++$i;
}
$i=10;
add($i);
echo '<br />'.$i;
函數的默認參數
可以給形式參數設置默認值,設置方法很簡單直接賦值即可!
<?php
function add($i=10){echo ++$i;
}
add();
如果不傳,按上面的值走。
<?php
function add($i=10){echo ++$i;
}
add(20);
如果傳的話,按下面的實際參數值走。
注意:形式參數加默認值,要從右往左。
<?php
function add($a=1,$i){echo $a+$i;
}
add(,20);
會報錯,要將右面的$i
先賦值。才可以對于$a
進行賦值。
<?php
function add($a,$i=1){echo $a+$i;
}
add(3,);
或
<?php
function add($a,$i=1){echo $a+$i;
}
add(3);
均可的到,如圖所示。
以次同理…
可變長度參數
fun_get_args();//數組類型
fun_get_arg();//括號內可加數字(從0開始),代表要輸出傳入的第幾個實參。
多為var_dump(fun_get_arg());
func_num_args();//返回傳入函數的參數個數
這三個函數可以使用在我們的定義函數內部,能夠返回給我們一些關于參數的信息。
可變函數(變量函數)
可變函數不能直接用于例如 echo,print,unset(),isset();empty(),include,require 以及類似的語言結構,
<?php
function text(){echo '可變text';
}
$a='text';//把函數名字加上引號,賦值給變量即可,
$a(2);//text();
遞歸函數
在函數內部,自己調用自己,
<?php
function text($n){echo $n.'可變';//前if($n>0){text($n-1);}else{echo'<-->';}echo $n.'可變';//后
}
text(3);
$n 是局部變量,在分配的空間里面相互獨立,沒有關聯。
當先輸入3執行完后鍵入判斷,判斷要求用test(),函數test()沒有執行完畢,后面的輸出3也不會執行。
內部(內置)函數
php提供給我們許多現成的函數或者結構,我們可以在實際的開發中直接使用。
還有一些函數需要開啟 特定的php擴展模塊,否則在使用他們時會得到一個致命的”未定義函數“錯誤。