函数是为了代码的复用;
函数的参数为固定参数,可变参数;
--固定参数需要一一传参,带默认值的参数要放在形参的最后面,传参时不传值时使用形参的默认值;
--可变参数:在表示形参时前面加三个点(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
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号