批改状态:合格
老师批语:函数是现代编程的基石之一
函数就是功能。调用一个函数就是在调用一个功能。
函数的名称应该提示出它的功能。
函数名称以字母或下划线开头(不能以数字开头)。
function 函数名称(类型: 参数列表): 返回值类型{// 函数体return 返回值;}
function abc(){...} | 用户根据业务需求创建|
function abc(){echo '正是江南好风景';}abc();

substr(), count()... | 也叫预定义函数,不必声明直接调用|
$count = '200';echo $count;

$funcName(); | 函数名使用变量表示|
function xyz(int $money,float $discount):float{return $money * $discount;}echo '数字是:' . xyz(6000,0.8);echo '<hr>';$funcName = 'xyz';echo '数字是:' . xyz(5000,0.5);echo '数字是:' . $funcName(5000,0.5);echo '<hr>';

$f = function (){...} | 也叫”闭包”或”函数表达式”,常用做回调处理 |
$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 | 数组 |
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.可以在页面的任何位置调用函数。
2.函数名只能是字母,数字,下划线的组合,并且之间不能包含空格,数字不能放在变量名首位。与变量的命名类似。
3.函数名不区分大小写。
4.函数命名具有唯一性。
5.json是特殊的序列化返回值。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号