函数是为了代码的复用;
函数的参数为固定参数,可变参数;
--固定参数需要一一传参,带默认值的参数要放在形参的最后面,传参时不传值时使用形参的默认值;
--可变参数:在表示形参时前面加三个点(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