批改状态:合格
老师批语:作业有布置了这么多吗? 不过多写总是好的
计算不定参数的乘积
function integral(...$params){
$total=1;
foreach ($params as $arg) {
$total *= $arg;
}
return $total;
}
echo integral(1,2,3,4,5);点击 "运行实例" 按钮查看在线实例
结果:120
总结:
将老师的课件再次总结成并测试
<?php
//全局
//$_GET: 超全局,不需要声明的全局变量
// $email,$sex: 全局变量, 是定义在函数之外的
$email = 'dexing@php.cn';
$sex = '男';
// 函数一:
function hello($name)
{
// 函数作用域
// 如果需要使用全局变量的$email,
global $email; // global 在函数中给全局变量做声明
global $sex;
$statu = '在职';
return 'Hello ' . $name . ',性别是:'.$sex.', 工资是: ' .$_GET['salary'].',邮箱: '.$email.',状态:'.$statu;
}
// 函数二:
function hi($name)
{
// 函数作用域
// 如果需要使用全局变量的$email和$sex,
$statu = '在职';
return 'Hello ' . $name . ',性别是:'.$GLOBALS['sex'].', 工资是: ' .$_GET['salary'].',邮箱: '.$GLOBALS['email'].',状态:'.$statu;
}
// get获得的name赋值给$username,同时get了工资
$username = $_GET['name'];
echo hello($username). '<br>';
echo hi($username). '<br>';
// 所有的全局变量都保存到$GLOBALS
echo $GLOBALS['email']. '<br>';
echo $GLOBALS['sex'];
// 两个函数的结果相同,全局变量使用了两种不同的方法
// 访问http://www.study.com/0928/demo1.php?name=%E5%B0%8F%E7%B1%B3&salary=3444点击 "运行实例" 按钮查看在线实例
<?php
// 不固定参数, 变长参数
function sum1()
{
// func_num_args(): 返回实参数量
$argNum = func_num_args();
// return $argNum;exit;
// func_get_args(): 返回实参组成的数组
$argArr = func_get_args();
print_r($argArr); //输出数组
echo '<br>';
// 分别输出第一个和第二个数据
echo func_get_arg(0).'<br>';
echo func_get_arg(1).'<br>';
// 输出前三个数据的求和方法一:
echo func_get_arg(0) + func_get_arg(1)+func_get_arg(2).'<br>';
// 输出所有数据的求和方法二:
$total = 0;
foreach ($argArr as $arg) {
$total += $arg;
}
echo $total.'<br>';
// 使用系统的函数求和
echo array_sum($argArr).'<br>';
// 不输出,直接返回结果在客户端
return array_sum($argArr);
}
// 调用函数
echo sum1(17, 45, 85, 45, 88);
echo '<hr>';
// 变长参数: 剩余参数,php7+
function sum2(...$params){
return array_sum($params);
}
echo sum2(1,2,3,4,5);
echo '<hr>';
// 前三个数是独立的,后面的都放到数组$d中
function sum3($a, $b, $c,...$d)
{
// 将数据按排列插入数组的首部
array_unshift($d,$a,$b,$c);
// print_r($d);
echo '<br>';
// 将数据按排列插入数组的尾部
// array_push($d, $a, $b, $c);
// print_r($d);
echo '<br>';
// 一个一个插入,不写下标按序插入
// $d[] = $a;
// $d[] = $b;
// $d[] = $c;
// print_r($d);
return array_sum($d);
}
echo sum3(1,2,3,4,5,6,7,8).'<br>';点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号