PHP第6章自定义函数的使用概要
第6章 自定义函数的使用 课程描述 函数(function)由若干条语句组成,用于实现特定的功能。函数包含函数名、若干参数和返回值。一旦定义了函数,就可以在程序中需要实现该功能的位置调用该函数,给程序员共享代码带来了很大方便。在PHP语言中,除了提供丰富的系统函数(本书前面已经介绍了一下常用的系统函数)外,还允许用户创建和使用自定义函数。 本章知识点 6.1 创建和调用函数 6.2 参数和返回值 6.3 函数库 6.1 创建和调用函数 6.1.1 创建自定义函数 6.1.2 创建表 6.1.3 查看和管理表中的数据 6.1.4 查看表的磁盘空间信息 6.1.5 修改表 6.1.6 删除表 6.1.1 创建自定义函数 可以使用function关键字来创建PHP自定义函数,其基本语法结构如下: function 函数名 (参数列表) { 函数体 } 【例6-1】 【例6-2】 【例6-3】 定义一个函数sum(),用于计算并打印两个参数之和。函数sum()包含两个参数。参数$num1和$num2,代码如下: function sum($num1, $num2) { echo($num1 + $num2); } 6.1.2 调用函数 【例6-4】 要调用PrintWelcome()函数,显示“欢迎使用PHP”字符串,代码如下: ?PHP function PrintWelcome() { echo(欢迎使用PHP); } PrintWelcome(); ? 【例6-5】 要调用PrintString()函数,打开用户指定的字符串,代码如下: ?PHP function PrintString($str) { echo($str); } PrintString(传递参数); ? 【例6-6】 调用sum()函数,计算并打印100和3之和,代码如下: ?PHP function sum($num1, $num2) { echo($num1 + $num2); } sum(100, 3); ? 6.1.3 变量的作用域 【例6-7】 局部变量和全局变量作用域的例子。 ?PHP $a = 100; // 全局变量 function setNumber() { $a = 10; // 局部变量 echo($a); // 打印局部变量$a } setNumber(); echo(BR); echo($a); // 打印全局变量$a ? 在函数setNumber()外部定义的变量$a是全局变量,它在整个PHP程序中都有效。在setNumber()函数中也定义了一个变量$a,它只在函数体内部有效。因此在setNumber()函数中修改变量$a的值,只是修改了局部变量的值,并不影响全局变量$a的内容。运行结果如下: 10 100 调试程序 为了更直观地认识局部变量和全局变量,分别在setNumber()函数内部和后面的echo($a)语句上设置断点,然后调试程序,并在断点处查看变量$a的值。局部变量$a的值如图6-1所示,全局变量$a的值如图6-2所示。 在函数中使用全局变量 如果要在函数中使用全局变量,可以使用global关键字进行声明,方法如下: 定义全局变量 function 函数名(参数列表) { global 全局变量名 使用全局变量 } 【例6-8】 对【例6-7】进行修改,在setNumber()函数中设置全局变量$a的值,代码如下: ?PHP $a = 100; // 全局变量 function setNumber() { global $a; // 指定全局变量$a在函数setNumber() $a = 10; // 设置全部变量$a的值, 而不是局部变量 } setNumber(); echo($a); // 打印全局变量$a ? 因为全局变量$a在setNumber()函数中被设置为10,所以运行结果为10。 6.1.4 静态变量 在函数体内可以定义静态变量,静态变量的作用域与局部变量相同,只在定义它的函数体内。与局部变量不同的是,局部变量会在函数结束时被释放,而静态变量的值会被保留下来,下次调用函数时,静态变量的值不会丢失。 可以使用static 关键字定义静态变量,语法如下: static $变量名 = 初始值; 【例6-9】 静态变量的例子。 ?php function test() {
您可能关注的文档
- Nelson_Mandela-_a_modern_hero阅读课件2概要.ppt
- NewwordsinUnit8单词概要.ppt
- NegotiationsonPrice修改版概要.ppt
- NCII-1-1刘欢课件概要.ppt
- NinetoFive概要.ppt
- NGWDM电层调度方案概要.ppt
- NCE2_39_新概念英语第二册3_Lesson39_Am_I_all_right概要.ppt
- NIKESTP战略概要.ppt
- My人教版新版九年级英语uint3CouldyoupleasetellmeSectionA概要.ppt
- NE40&NE80&S8016产品与维护培训概要.ppt
- 2026考研英语二万能作文模板 图表+书信+议论文三件套汇总.docx
- 2026教师资格证认定体检标准与网上报名流程汇总表.docx
- 漯河市离婚协议书(2026标准规范版).docx
- 2026考研英语二图表+书信+议论文万能作文模板三件套完整版.docx
- 2026教师资格证认定体检标准及网上报名流程指南表.docx
- 2026年茶馆服务品牌形象与传播报告.docx
- 智能感知与反馈技术在智慧校园学习环境中的应用与优化策略教学研究课题报告.docx
- 高中生物教学中基因编辑技术伦理的课题报告教学研究课题报告.docx
- 3D打印技术在小学STEAM教育课程开发中的创新应用课题报告教学研究课题报告.docx
- 2026年合成橡胶新材料行业重点区域产业发展与政策支持分析.docx
最近下载
- 2025年山东城市服务职业学院单招职业技能测试题库(实用).docx VIP
- 装修公司业务合作协议合同模板协议5篇.docx
- 药物临床试验与GCP培训课件(精).pptx VIP
- 长期资本管理公司(LTCM)倒闭事件案例分析:破产原因、始末经过、风险启示.docx VIP
- 2024年山东城市服务职业学院单招职业技能测试题库(历年真题).docx VIP
- 国际金融第四版孙连铮习题答案.docx VIP
- 2023年执业药师继续教育我国药品管理动态及新法规解读一参考答案.docx VIP
- 12YS5 水处理工程(建筑图集).docx VIP
- 电缆沟及盖板施工方案.doc VIP
- 化妆品功效宣称依据的摘要(式样).docx VIP
原创力文档

文档评论(0)