這幾天複習了php函數,溫故知新感覺加深了不少印象。
下面就來介紹幾個在php中常用的函數吧。
//冒泡排序找最大值
function maopao($a){
$arr = $a;
$max_value = $arr[0];
foreach($arr as $num){
if($max_value<$num){
$max_value = $num;
}
}
return $max_value;
}
//php中的默認函數的使用
//注:默認函數的形參智能寫在最右面
function def($a,$b=false){
if($b){
echo 'function has been called';
}
}
//可變參數列表
//此方法適用於php5.5以前的版本
function get_sum(){
$sum=0;
$args_num=func_num_args();
if($args_num==0){
echo 0;
}else{
for($i=0;$i<$args_num;$i++){
$sum += func_get_arg($i);
}
echo $sum;
}
}
//可變參數
//此方法適用於php5.6以後的版本
function get_sum2(...$nums){
$sum=0;
if(!nums){
echo 0;
}else{
foreach($nums as $val){
$sum += $val;
}
echo $sum;
}
}
//變量交換函數
//通過這個函數我想說明:如果用的是引用,那麼與聲明的變量公用存儲空間,方法外
//輸出變量,發現變量也變化了,但是如果值傳的方法,那麼原變量不會發生改變,因爲
//不是同一存數空間
function swap(&$a,&$b){
$temp=$a;
$a=$b;
$b=$temp;
}
//php實現階乘,也可用遞歸方法
function factorial($num){
$result=1;
for($i=1;$i<=$num;$i++){
$result*=$i;
}
return $result;
}
//嵌套函數,當out()未被調用的時候,不能調用in()
function out($out_str){
if(!function_exists("in")){
function in($in_str){
echo $in_str;
}
}
echo $out_str;
}
//閉包函數
function col($name,Closure $n){
echo "name is {$name}";
$n();
}
//調用
col("bread",function(){
echo "this function has been called";
});
先總結這麼多,以後有時間繼續補充。