- 8
- 0
- 约1.02万字
- 约 17页
- 2021-08-21 发布于北京
- 举报
南京科技职业学院 信息技术系 计算机应用教研室
南京科技职业学院 信息技术系 计算机应用教研室
PAGE 2
PAGE 1
第三章 补充案例
案例3-1 函数的调用
一、案例描述
考核知识点
函数的调用
练习目标
掌握函数的定义与调用之间的关系
需求分析
在PHP中,程序对函数是进行预处理的,所以在同一个文件中,定义和调用函数是没有先后之分的,但是当我们调用包含文件中的函数时定义和调用函数是不是也没有先后之分呢?
现在举例假设:在functions_inc.php中定义一个获得最小值的函数getMin($m,$n),我们在一个测试的文件func.php中,先调用getMin($m,$n)函数,再包含functions_inc.php文件,来看看我们的猜测是否正确吧。
设计思路(实现原理)
1)在functions_inc.php中定义一个获得最小值的函数getMin($m,$n),并返回执行结果。
2)在测试文件func.php中,先调用getMin($m,$n),并输出结果,再包含文件functions_inc.php。
二、案例实现
1、在functions_inc.php文件中,定义getMin($m,$n),代码如下:
?php
function getMin($m, $n)
{
return $m$n ? $m : $n;
}
2、测试文件func.php,代码如下:
?php
echo getMin(23, 17);
include ./functions_inc.php;
运行程序,函数定义与调用不在同一个文件中,调用在包含文件的前面,或报函数未定义的错误,结果如下图所示:
三、案例总结
1、在同一文件中,可以先调用后定义函数。原因:PHP会对函数进行预处理。但这样的习惯不好。
2、如果调用的函数在包含文件中,不能先调用,后包含。原因:在程序运行过程中,编译器只是对其进行语法检查,而include语句只有在被执行时才会读入要包含的文件,即定义函数文件。
案例3-2 函数的返回值
一、案例描述
1、考核知识点
函数的返回值
练习目标
掌握函数的返回值各种情况
需求分析
在PHP中,使用return语句可以将返回值传递给调用者,并且return语句后紧跟的返回值可以为变量,常量,数组,或者表达式等。为了帮大家更好的理解函数的返回值,我们设计一个函数没有return,看看其是否有返回值,函数有return但是后面没有数据,看看其是否有返回值,函数中有多个return是否可以。
设计思路(实现原理)
编写一个函数getAge(),让其没有return关键字。
编写一个函数getName(),让其return后面没有数据。
3)编写一个函数getGrade($score),判断传递过来的$score,当其大于60时,返回pass,否则返回fail。
二、案例实现
1、在functions_inc.php文件中,定义getMin($m,$n),代码如下:
?php
function getAge(){
}
function getName(){
return;
}
function getGrade($score){
if($score 60)
return pass;
else
return fail;
}
var_dump(getAge());
echo hr;
var_dump(getName());
echo hr;
var_dump(getGrade(75));
运行程序,结果如下图所示:
三、案例总结
1、函数没有return时,也是有返回值的,其值为NULL。
2、函数有return,但是后面没有数据,也是有返回值的,其值为NULL。
3、函数代码中可以有多个return。
4、函数体代码运行到return,那么后面的代码就不会再被执行,函数将结束运行。
案例3-3 函数的参数
一、案例描述
考核知识点
函数的参数
练习目标
熟练掌握函数形参和实参的用法
需求分析
定义一个函数concat,不设置此函数的形参,可以接收不定数量字符串参数,将其连接,并返回结果。
设计思路(实现原理)
1)定义一个函数concat(),使用func_get_args()函数接受传递过来的字符串参数,并将其连接,返回结果。
2)调用函数concat(‘a’,true,-3.56),并将结果输出。
二、案例实现
1、定义一个函数concat(),代码如下:
?php
//把不定数量的字符串参数连接成一个字符串并返回
function concat()
{
$arr = func_get_args();
//使用数组遍历方法
$str = ;
for
您可能关注的文档
- 基础课程教案Internet接入(实训).doc
- 基础课程教案面向对象编程教学设计.doc
- 基础课程知识点WORD文档一个路由器连接两个网络.doc
- 基于Hadoop构建数据分析系统-资源实验3:sqoop的安装实验3:sqoop的安装.docx
- 开发者技术及生态发展2030.pdf
- 2025人形机器人产业趋势展望.pdf
- 中国GEO行业市场分析报告2026.pdf
- 2025医疗器械及供应链年度创新白皮书:创新、出海与支付重构下的产业跃迁.pdf
- 2025数字中国“十五五”发展趋势白皮书.pdf
- 2025中国跨境电商营销服务行业报告.pdf
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
原创力文档

文档评论(0)