批改状态:未批改
老师批语:
函数初认识
函数是实现代码复用的重要手段。
函数一般分为 系统函数 和 自定义函数。
函数 基本都会有 return 返回值,若没有,PHP中默认返回 NULL。
PHP 中作用域分为 函数作用域和全局作用域。
超全局变量,全局变量使用
只要是定义在函数外的变量就是 全局变量;
在此基础上,不需要声明的 全局变量 便是 超全局变量,比如 $_GET, $_POST等,都存在 $GLOBALS 这个变量中
在 PHP 中,函数访问 全局变量 不能直接访问
function fun1(){
// 1.和 js不同,函数内部不能直接访问全局变量,需要进行声明
// 在函数里访问 全局变量需要先 声明一下
global $name;
echo $name;
// 2. 利用 $GLOBALS 数组访问,超全局变量可以直接使用
echo $GLOBALS['name'];
}这里 认识一下 $GLOBALS 变量
新增的 全局变量 会自动成为 $GLOBALS 的一个键值对。
函数参数
在PHP中 函数 的形参设置但是不传实参的话是会报错的(比较严格),所以需要对于一些形参进行设置默认值(所以你要么就别放形参,放了形参就要注意是否有默认值 或者 是否都传了实参)
function fun1($a,$b=4) { // 考虑到 $b 可能不会有实参传入,所以设置一个默认值
return $a;
}
fun1(3); // 只传了第一个参数关于参数的预设方法:
func_num_args() :返回实参数量
func_get_args() : 返回实参数组
func_get_arg(index) : 返回指定位置实参
这里来认识一下 剩余参数(又叫 变长参数,PHP7+新语法)
// ...$params 相当于将剩余传入的实参打包到一个数组变量中
function fun4($a, ...$params) {
print_r($params);
return '和为:'.array_sum($params);
}
echo fun4(2,3,4,5);
可以看到剩余参数都传入了一个数组中
计算不定参数的乘积, 要求使用到剩余参数来实现
function calc(...$params) {
// 1. 使用 foreach 实现
$product = 1;
foreach($params as $value) {
$product *= $value;
}
return $product;
// 2. 使用 array_product()求积方法一步实现
return array_product($params);
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号