欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

函数初学--2019年09月28日20时00分

程序员文章站 2022-03-20 22:37:34
...

函数初认识

  • 函数是实现代码复用的重要手段。

  • 函数一般分为 系统函数 和 自定义函数。

  • 函数 基本都会有 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);

函数初学--2019年09月28日20时00分

可以看到剩余参数都传入了一个数组中

计算不定参数的乘积, 要求使用到剩余参数来实现

function calc(...$params) {
//   1. 使用 foreach 实现
    $product = 1;
    foreach($params as $value) {
        $product *= $value;
    }
    return $product;

//   2. 使用 array_product()求积方法一步实现
    return array_product($params);
}