1.明確函數的做用,和用途php
2.函數分類 , 系統(內部),用戶自定義數組
3.函數的 調用格式 :函數名稱(參數1,參數2,參數3.....)ide
函數中的參數能夠是 php支持的 任何類型 函數
echo strlen("zppxphp");測試
echo "<br />";ui
echo phpinfo();作用域
echo "<br />";開發
終止腳本的運行get
die($str)string
exit($str);
只接受一個參數
當傳遞的值爲0 時執行
exit("你好");
die("你好");
echo "123";//不會輸出
$fp = fopen("index_1.php","r") or die("不能打開文件");
echo $fp;
用戶自定義函數
格式爲
function 函數名稱(參數,參數) {
函數體
}
經過return 返回函數處理的結果
如:
無參數的函數
function text_fun(){
return "測試函數的返回值";
}
使用這個函數,直接用函數名稱text_fun(),必定記得要加括號
echo text_fun();
深圳市中鵬培訓內部資料 函數 之 PHP開發摘要 饒建平:330979060
有一個參數的函數
function square($x){
return ++$x;
}
$x = 5;
echo square($x);
有2個參數的函數,其中最後一個參數有默認值
function errorMessage($str,$type = 0){
return $str;
}
$str = "這是個 錯誤的信息顯示";
echo errorMessage($str);
經過上面的例子,咱們來看下函數的命名規則
函數的 命名規則
*1.命名規則比較寬鬆,能夠支持大小寫 ,可是都是同樣的 如 FUN(),fun()時同樣的
*2.在php中變量大小寫是不同的 ,$FUN與$fun是不同的
*3.函數的參數沒有 限制
*4.函數的命名理論能夠是中文,但不建議
function FUN(){
return "函數名稱的 大小寫";
}
echo fun();//FUN();
function 中鵬培訓(){
return "中鵬培訓w";
}
echo 中鵬培訓();
函數的 做用域 ,看下面的 例子
變量只在函數內部做用
function fun_a(){
$var = 2;
}
$var = 3;
fun_a();
echo $var; //結果爲3
深圳市中鵬培訓內部資料 函數 之 PHP開發摘要 饒建平:330979060
函數內部影響到外面的 變量
function fun_b(){
global $var;
$var = 2 ;
}
$var = 3;
fun_b();
echo $var;
function fun_c(){
global $var;
return $var;
}
$var = 2;
echo fun_c();
函數做用域的注意事項
*1.函數內部申明的變量,從函數聲明開始到函數的尾部一直有效
*2.函數外部聲明的變量 ,從聲明開始到文件的 結束
*3.使用require,include 不影響做用範圍
*4.若是變量在函數內部,只在函數做用域有效,若是不在,具備全局做用
*5.使用GLOBAL,GLOBALS[]數組能夠聲明全局
*6.函數是全局的 ,在函數內部定義的另外一個函數,在任何地方都是有效的
*7.可使用unset刪除一個變量
從函數返回值 return
//返回引用的值
解釋 返回這個變量的地址作這個 變量的代替 ,容許修改這個調用的 做用域,返回一個引
用的變量 ,
須要定義個函數去替換&
function &get_var($name){
return $GLOBALS[$name];
}
$str = "100";
$value = &get_var("str");
print $value;
function get_var_a(&$name){
$name = $name + $name ;
深圳市中鵬培訓內部資料 函數 之 PHP開發摘要 饒建平:330979060
}
function get_var_b($name){
$name = $name + $name ;
}
$str = "100";
get_var_a($str);
echo $str;
function genPassword($min = 5,$max = 8){
$varstring = "abcdefghijklmnopqrstuvwxyz123456789";
$max_char = strlen($varstring)-1;
$length = mt_rand($min,$max);
for($i=0;$i<=$length;$i++){
$password .= $varstring[mt_rand(0,$max_char)];
}
return $password;
}
function get_num_fun($str,$str1,$str2,$str3=null){
//return func_num_args();//函數的參數個數
//return func_get_arg(2);//返回函數的參數值
//print_r(func_get_args());
}
echo get_num_fun(1,2,3,4);
靜態變量 不會再函數外出現 ,一般變量時在每次使用時從新建立,而靜態變量不會
function conutStatic($msg){
static $num;
//global $num;
$num++;
return "<br />靜態變量num=".$num." ".$msg;
}
echo conutStatic("第1次");
echo conutStatic("第2次");
echo conutStatic("第3次");
echo conutStatic("第4次");
echo $num;//測試函數的 靜態和全局
計算
給一個員工發工資,你要發給他100元、50元、10元、5元、 2元、 1元的錢,假如要
發給他1789元,寫一個程序,打印出要發給他100元、50元、10元、5元、 2元、 1元
深圳市中鵬培訓內部資料 函數 之 PHP開發摘要 饒建平:330979060
各是多少張?