
批改狀態(tài):合格
老師批語:剩余參數(shù),也叫可變參數(shù), 應該是一個很實用的功能
<?php
// 自定義函數(shù)
function func1(float $a,float $b):float
{
return $a*$b;
}
echo func1(3,2);
echo '<hr>';
// 系統(tǒng)函數(shù)
$str='woshizhongguoren';
var_dump(mb_strlen($str));
echo '<br>';
var_dump(mb_substr($str,5,8));
echo '<hr>';
$str='我是中國人,在河南鄭州';
var_dump(mb_strlen($str));
echo '<br>';
var_dump(mb_substr($str,3,4));
// 可變函數(shù)
echo '<hr>';
$function='func1';
echo $function(4,5);
echo '<hr>';
// 匿名函數(shù):閉包,可訪問父作用域(需要通過use導入),普通函數(shù)不行
$num=2;
$f=function ($dis) use($num){
return $num*$dis;
};
echo $f(2).'<br>';
echo gettype($f(2)).'<br>';
echo @<<< "EOT"
匿名函數(shù):閉包,可訪問父作用域(需要通過use導入),普通函數(shù)不行<br>
不正確的:
<pre>
function sum(float $a) use($num){
return $a*$num
}</pre>
EOT;
echo '<hr';
// 函數(shù)返回值
// 函數(shù)返回字符串:拼裝
function str_link():string
{
$a='woshi';
$b='zhongguoren';
return $a.'&'.$b;
}
echo str_link(),'<br>';
// 返回數(shù)組
function get_array():array
{
return ['status'=>1,'message'=>'成功'];
}
print_r(get_array());
// 返回json對象
function get_arr():string
{
return json_encode(['status'=>1,'message'=>'成功']);
}
echo get_arr(),'<br>';
$arra=get_arr();
print_r(json_decode($arra));
echo '<br>';
print_r(json_decode($arra,true));
echo '<hr>';
// 返回序列化
function get_ar():string
{
return serialize(['status'=>1,'message'=>'成功']);
}
echo get_ar();
echo '<br>';
print_r(unserialize(get_ar()));
// 函數(shù)參數(shù)
$ab=23;
// 如果在參數(shù)前面使用了取地址符,則會改變原始調(diào)用參數(shù)的值
function get_float(float &$a):float
{
return $a*=2;
}
echo get_float($ab),'<br>';
echo $ab,'<br>';
//默認參數(shù)必須寫在必選參數(shù)的后面
function get_sum(float $a,float $b=2):float
{
return $a+$b;
}
echo get_sum(3),'<br>';
echo get_sum(3,6),'<br>';
function get_s(...$arr):float
{
return array_sum($arr);
}
echo get_s(1,2,3,4,5,10),'<br>';
function get_p(...$arr):float
{
return array_product($arr);
}
echo get_p(1,2,3,4);
代碼演示結(jié)果:
1、函數(shù)命名:小駝峰法:getSum
;蛇形命名法:get_sum
;
2、匿名函數(shù):又稱閉包,可以通過use
訪問父級變量;
3、函數(shù)返回值:單值返回
json_encode();
serialize();
4、函數(shù)參數(shù)
&
):如果在參數(shù)前面使用了取地址符,則會改變原始調(diào)用參數(shù)的值...
用在函數(shù)的形式參數(shù)列表中,表示”收集”,將多個離散的參數(shù)打包到一個數(shù)組中處理;用在函數(shù)的調(diào)用參數(shù)列表中,表示”展開”,還原將一個數(shù)組展開成一個個離散的值.微信掃碼
關(guān)注PHP中文網(wǎng)服務號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號