
批改狀態(tài):合格
老師批語:函數(shù)是現(xiàn)代編程的基石之一
函數(shù)就是功能。調(diào)用一個函數(shù)就是在調(diào)用一個功能。
函數(shù)的名稱應(yīng)該提示出它的功能。
函數(shù)名稱以字母或下劃線開頭(不能以數(shù)字開頭)。
function 函數(shù)名稱(類型: 參數(shù)列表): 返回值類型
{
// 函數(shù)體
return 返回值;
}
function abc(){...}
| 用戶根據(jù)業(yè)務(wù)需求創(chuàng)建|
function abc(){
echo '正是江南好風(fēng)景';
}
abc();
substr(), count()...
| 也叫預(yù)定義函數(shù),不必聲明直接調(diào)用|
$count = '200';
echo $count;
$funcName();
| 函數(shù)名使用變量表示|
function xyz(int $money,float $discount):float
{
return $money * $discount;
}
echo '數(shù)字是:' . xyz(6000,0.8);
echo '<hr>';
$funcName = 'xyz';
echo '數(shù)字是:' . xyz(5000,0.5);
echo '數(shù)字是:' . $funcName(5000,0.5);
echo '<hr>';
$f = function (){...}
| 也叫”閉包”或”函數(shù)表達(dá)式”,常用做回調(diào)處理 |
$great = function($big)
{
echo $big . '又大又圓的蘋果';
};
$great('桔子');
$great('西瓜');
function sub($x,$y)
{
$final=$x-$y;
return $final;
}
echo "20 - 5 = " . sub(20,5);
string
| 字符串拼接 |
function small ():string
{
$number = 1;
$name = '張三豐';
return $number . ':' . $name;
}
echo small();
echo '<br>';
function small2 ():string
{
$number = 2;
$name = '李尋歡';
return $number . ':' . $name;
}
echo small2();
echo '<br>';
function small3 ():string
{
$number = 3;
$name = '陸小鳳';
return $number . ':' . $name;
}
echo small3();
array
| 數(shù)組 |
function small4 (): array
{
$number = 1;
$name = '張三豐';
return ['number'=>1,'name'=>'張三豐'];
}
printf('<pre>%s</pre>',print_r(small4(),true));
echo '<hr>';
function small_numbers ()
{
return array ( 1 , 3 , 5 );
}
list ( $one , $three , $five ) = small_numbers ();
printf('<pre>%s</pre>',print_r(small_numbers(),true));
json
| JSON 字符串 |
function small4 (): array
{
$number = 1;
$name = '張三豐';
return ['number'=>1,'name'=>'張三豐'];
}
//echo '<pre>' .print_r(small4(),true)'</pre>';
printf('<pre>%s</pre>',print_r(small4(),true));
echo '<hr>';
function small5() : string
{
//json encode():
return json_encode(['number'=>1,'name'=>'張三豐']);
}
echo small5();
// {
// "number": 1,
// "name": "\u5f20\u4e09\u4e30"
// }
echo '<hr>';
function small6() : string
{
//json encode():
return json_encode(['number'=>1,'name'=>'張三豐']);
}
$data = small6();
echo $data;
serialize
| 序列化字符串 |
function small4 (): array
{
$number = 1;
$name = '張三豐';
return ['number'=>1,'name'=>'張三豐'];
}
function small7() : string
{
return serialize(['number'=>1,'name'=>'張三豐']);
}
echo small7();
//反序列化才可以使用
$arr = unserialize(small7());
printf('<pre>%s</pre>',print_r($arr,true));
function number1(float $arg) : float
{
return $arg *= 3;
}
$value = 40;
echo number1($value) , '<br>';
echo $value;
function number2(float &$arg) : float
{
return $arg *= 5;
}
$value = 35;
echo number2($value) , '<br>';
echo $value;
function number3(float $x, float $y, string $opt = '+')
{
$res = 0;
switch ($opt){
case '+' :
$res = "$x + $y =" .($x + $y);
break;
case '-' :
$res = "$x - $y =" .($x - $y);
break;
case '*' :
$res = "$x * $y =" .($x * $y);
break;
case '/' :
$res = "$x / $y =" .($x / $y);
break;
default:
$res = '非法操作符';
}
return $res;
}
echo number3(15,7), '<br>';
echo number3(13,50,'*'), '<br>';
echo number3(5,78,'#'), '<br>';
function number6(...$args) : float
{
return array_sum($args);
}
$arr = [1,3,5,7,9,11,13,15,17];
print_r(number6(...$arr));
1.可以在頁面的任何位置調(diào)用函數(shù)。
2.函數(shù)名只能是字母,數(shù)字,下劃線的組合,并且之間不能包含空格,數(shù)字不能放在變量名首位。與變量的命名類似。
3.函數(shù)名不區(qū)分大小寫。
4.函數(shù)命名具有唯一性。
5.json是特殊的序列化返回值。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號