博客列表 >可变参数的函数

可变参数的函数

ShunPro的博客
ShunPro的博客原创
2019年09月29日 10:51:33812浏览
  1. 函数是为了代码的复用;

  2. 函数的参数为固定参数,可变参数;

    --固定参数需要一一传参,带默认值的参数要放在形参的最后面,传参时不传值时使用形参的默认值;

    --可变参数:在表示形参时前面加三个点(eg:...$parameters),当有实参传入时,系统将这些实参保存到$parameters的数组变量中,在函数中可以对数组进行取值的相关操作。

  3.变量的作用域,分为超全局变量、全局变量、局部变量/私有变量;

      --超全局变量是PHP事先申明的带下划线的全大写字母表示的变量,可在程序的任意位置使用;

      --全局变量,是用户自定义的在函数之外的变量,若需在函数内使用,则需在函数内使用 global关键字申明一下(eg:global $result;),全局变量在函数内被调用后改变了值,函数外此变量的值同样被改变;

     --局部变量/私有变量:在函数内定义的变量,其只在函数内有效,函数外无法访问到它;

函数实践:计算多个数据的乘积

本实践中使用的知识点有:

--可变参数的定义方法(三点加$变量名);

--函数的声明方法

--可变参数变量为一个数组

--数组遍历的方法foreach($数组名 as $key=>$value)

--全局变量的定义与使用

--局部变量的定义与使用

本实践中用了两个方法,一个利用数组的内置函数array_product(数组)对数组内的元素进行乘积运算;

另一种方法,直接使用数组遍历,取值进行运算;

<?php
    //计算多个数的积:方法一
    function multiplication(...$factor){
        return array_product($factor);
    }
    //计算10!=3628800
    echo '10!='.multiplication(1,2,3,4,5,6,7,8,9,10).'<br>';  //10!=3628800
    //方法二
    $result =1;
    function product(...$factor){
        //$result =1;
        // 申明$result全局变量
        global $result;
        foreach ($factor as $item) {
            $result *=$item;
        }
        return $result;
    }
    echo '5!=' . product(1,2,3,4,5).'<br>';  //5!=120
    echo $result;  // 120
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议