批改狀態(tài):合格
老師批語:函數(shù)中不要用echo
在PHP中,支持函數(shù)的默認方式調用,即為參數(shù)指定一個默認值。
<?php //自定義一個函數(shù)mun function mun($a=1, $b=2, $c=3){ echo $a + $b; } mun(); //全部使用默認參數(shù)相加 echo "<hr>"; mun(8); //第一個默認參數(shù)被覆蓋,后面兩個參數(shù)為默認 echo "<hr>"; mun(8,5); //前兩個默認參數(shù)被覆蓋,后面一個參數(shù)為默認 ?>
點擊 "運行實例" 按鈕查看在線實例
<?php //剩余參數(shù),函數(shù)中參數(shù)設置中使用 ...變量名 方式設置的形參,稱之為剩余參數(shù),剩余參數(shù)可代表未被直接設置所有實參,且所有實參之間 //以數(shù)組的形式存儲在一起, function add ($a,$b,...$c){ return $a+$b+array_sum($c); } echo add(1,2,3,4,5,6,7,8,9,10)."<br>"; //1到10之和 = 55
點擊 "運行實例" 按鈕查看在線實例
<?php //匿名函數(shù),即沒有定義函數(shù)名的函數(shù) 即 function(){} 在PHP中也稱為閉包函數(shù) //允許臨時創(chuàng)建一個沒有指定名稱的函數(shù),被用作回調函數(shù)參數(shù)的值 // 匿名函數(shù) 不設置函數(shù)名 但可以將返回值保存在一個變量中 如 $add $add =function ($a,$b){ return $a+$b; }; // $add = 值 是賦值語句 所以要以分號結尾 echo $add(9,11)."<br>"; //輸出20 echo "<hr>"; //匿名函數(shù)作為函數(shù)的回調參數(shù)使用 $tel = "13015600265"; //全局變量 $a = function(){ //變量賦值匿名函數(shù) 返回外部數(shù)據 return $tel; //因為沒有聲明或使用超全局方法調用 本次調用失敗 }; $b = function()use($tel){ //匿名函數(shù)括號后 使用use(變量名)調用外部變量,函數(shù)體內返回成功 return $tel; //調用到內部的變量也擁有修改的權限 }; echo $b(); echo "<hr>"; $c = function()use($tel){ //匿名函數(shù)括號后 使用use(變量名)調用外部變量,函數(shù)體內返回成功 $tel = "13005972323"; return $tel; //調用到內部的變量也擁有修改的權限 }; echo $c(); //輸出 13005972323 函數(shù)體內部修改的變量值,對于在外部變量的原值不做產生影響
點擊 "運行實例" 按鈕查看在線實例
使用方法簡單來講,就是調用一個函數(shù)或者一個類中的某個成員函數(shù)
. 場景:
a、你要調用的函數(shù)名是未知的
b、要調用函數(shù)的參數(shù)類型及個數(shù)也是未知的,而且第二個參數(shù)傳入的是數(shù)組,我不知道這樣理解對不對?老師
<?php function a($b,$c){ //第一個參數(shù)是函數(shù)名,第二個參數(shù)是參數(shù)數(shù)組 echo $b; echo $c; } call_user_func_array('a',array("111","222")); //返回是111,222 ?>
點擊 "運行實例" 按鈕查看在線實例
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號