【web 开发基础】PHP 自定义函数之函数声明 -PHP 快速入门 (24)

简介: 函数就是由一定的功能的一些语句组织在一起的一种形式,定义函数的目的就是将程序按功能分块,方便程序的使用、管理、阅读和调试。函数有两种,一种是别人写好的或是系统内部提供的函数,即是内置函数,你只要知道这个函数是干什么的,自己会用就可以,不用管里面究竟是怎么实现的。另一种函数就是自定函数,顾名思义就是需要我们根据自己的需求自己实现的函数。函数的概念比较抽象,会有一些读者难以理解

前言

函数就是由一定的功能的一些语句组织在一起的一种形式,定义函数的目的就是将程序按功能分块,方便程序的使用、管理、阅读和调试。函数有两种,一种是别人写好的或是系统内部提供的函数,即是内置函数,你只要知道这个函数是干什么的,自己会用就可以,不用管里面究竟是怎么实现的。另一种函数就是自定函数,顾名思义就是需要我们根据自己的需求自己实现的函数。函数的概念比较抽象,会有一些读者难以理解。

函数是什么(函数的定义)

像数学中的函数一样,在数学中,y=f(x)是基本的函数表达形式,x可以看作参数,y可以看作是返回值,所以函数定义就是一个被命名的、独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值。该定义中的各部分含义如下:

  1. 函数是被命名的:每个函数都有唯一的名称,在程序的其他部分使用该名称,可以执行函数中的语句,称为调用函数
  2. 函数是独立的:无需程序其他部分的干预,函数便能够单独执行其任务.
  3. 函数执行特定的任务:任务是程序运行时所执行的具体工作,如将一行文本输出到浏览器,对数组进行排序,计算立方根等等
  4. 函数可以将一个返回值返回给调用它的程序:程序调用函数时,将执行该函数中的语句,而这些语句可以将信息返回给调用它们的程序

PHP的模块化程序结构都是通过函数或对象来实现的,函数则是将复杂的PHP程序分为若干个功能模块,每个模块都编写成一个PHP函数,然后通过在脚本中调用函数,以及在函数中调用函数来实现一些大型问题的PHP脚本编写。

使用函数的优势有以下几点:

  1. 提高程序的重用性
  2. 提高软件的可维护性
  3. 提高软件的开发效率
  4. 提高软件的可靠性
  5. 控制程序设计的复杂性

函数是程序开发中非常重要的内容,因此对函数的定义,调用和值的返回等,尤为重要,一定要注重理解和应用,通过上机调试加以巩固。

自定义函数

编写函数是首先要明白你要做什么,也就是你希望函数实现什么功能,即是所谓的明确需求.知道这一点后,编写起来便不会太难。在PHP中除了已经提供给我们使用的系统函数,还可以根据模块需要自定义函数。所谓的系统函数是在PHP中提供的可以直接使用的函数,每个系统函数都是一个完整的可以完成指定任务的代码段。学会一个系统函数,就多一个PHP的功能。在开发时,一些常用的功能都可以借助调用系统函数来完成。如果某些功能模块在PHP中没有提供系统函数,就需要根据自己的需求来自定义函数。完成同样的任务,使用系统函数的执行效率会比自定义函数高,但两种函数在程序中的调用方式是没有区别的。

函数声明

在PHP中声明一个自定义的函数的语法格式如下:

<?phpfunction函数名([参数1,参数2,...,参数n]) //函数头 定义函数式{
// 要执行的代码:函数体return返回值; //可以从函数中返回一个值,就是我们数学中的f(x)} //函数体一定要用花括号括住,在编程中一般括都是成对出现的?>

PHP 函数准则:

  • 函数的名称应该提示出它的功能
  • 函数名称以字母或下划线开头(不能以数字开头)

函数的语法格式说明:

  1. 每个函数的第一行都是函数头,又声明函数的关键字function,函数名和参数列表三部分组成,其中每一部分完成待定的功能
  2. 每个自定义函数都必须使用function关键字声明
  3. 函数名可以代表整个函数,可以将函数命名为任何名称,只要遵循变量的命名规则即可。每个函数都有唯一的名称,但需要注意的是,在PHP中不能使用函数重载,所以不能定义重名的函数,也包括不能和系统函数同名,否则造成冲突。给函数指定一个描述其功能的名称是个不错的主意。命名一定要做到见名知意,所以在编程中其名也是一门艺术。
  4. 声明函数时函数名后面的括号也是必须有的,在括号中表明了一组可以接受的参数列表,参数就是声明的变量,然后在调用函数时递给它值。参数列表可以没有,也可以有一个或多个参数,多个参数使用逗号分隔。
  5. 函数体位于函数头后面,用花括号括起来。实际的工作是在函数体中完成的。函数被调用后,首先执行函数体中的第一条语句,执行到return语句或最外面的花括号后结束,返回到调用的程序,在函数体中可以使用任何有效的PHP代码,甚至是其他的函数或类的定义也可以在函数体中声明。
  6. 使用关键字return可以从函数返回一个值,在return后面加上一个表达式,程序执行到return语句时,该表达式将被计算,然后返回到调用程序处继续执行。函数的返回值为该表达式的值。

因为参数列表和返回值在函数定义时都是可选的,其他的部分是必须有的,所以声明函数时通常有以下几种方式:

1、在声明函数时可以没有参数列表

<?phpfunction函数名(){
函数体;(语句块)//你想让函数做的一些事return返回值;
    }
?>

2、在声明函数时可以没有返回值

<?phpfunction函数名([参数1,参数2,...,参数n]){
函数体;(语句块)//你想让函数做的一些事    }
?>

3、在声明函数时可以没有参数列表和返回值

<?phpfunction函数名(){
函数体;(语句块)//你想让函数做的一些事    }
?>

4、有参数列表有返回值

<?phpfunction函数名([参数1,参数2,...,参数n]){
函数体;(语句块)//你想让函数做的一些事return返回值;
    }
?>

我们在前面学习for循环的时候写过一个双层循环输出九九乘法表,如果在一个程序中的不同地方多次使用同样的输出,显然每次都定义一个这样的双层循环不太合适。软件会变得很复杂,不仅代码会非常臃肿,而且可维护性也非常差,开发效率和可靠性都会降低。解决这样的问题就是将这个特定的任务编写成一个模块,也就是将完成功能的所有代码使用花括号括起来,并起一个名字,然后使用function关键字声明为一个函数。这样,在需要输出此九九乘法表的地方,只要通过函数名调用一下,就会执行一次函数内部的代码,并在调用的位置输出数字。函数只被声明一次,就可以在任何需要的地方调用执行,提高了代码的可重用性。而且只要函数内部的代码有所改动,所有调用该函数的地方都会随着改变,提高了代码的可维护性,因此开发效率和可靠性都会提高。将输出九九乘法表的代码改动如下:

<?phpfunctionmultiplicationTable(){
for($i=1;$i<=9;$i++){
for($j=1;$j<=$i;$j++){
echo"$jx $i= " . ($j*$i) . "&nbsp;&nbsp;";
    }
echo"<br>";
  }
}

上述代码中定义了一个multiplicationTable()函数,只是需要输出数字,也无需外部变量控制的地方,所以无需参数列表和返回值,这是最简单的自定义函数。

上面的函数没有被调用是没有任何输出的,因为没有调用函数体内的代码不会执行,调用方法很简单:

multiplicationTable();

执行结果:

目录
打赏
0
0
0
0
60
分享
相关文章
|
5月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
142 20
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
88 0
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
179 3
深入浅出PHP:构建你的第一个Web应用
【10月更文挑战第35天】在数字时代的浪潮中,掌握编程技能已成为通往未来的钥匙。本文将带你从零开始,一步步走进PHP的世界,解锁创建动态网页的魔法。通过浅显易懂的语言和实际代码示例,我们将共同打造一个简单但功能强大的Web应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将是你的理想选择。让我们一起探索PHP的魅力,开启你的编程之旅!
|
8月前
|
探索PHP的现代演进:从Web开发到框架创新
PHP是一种流行的服务器端脚本语言,自诞生以来在Web开发领域占据重要地位。从简单的网页脚本到支持面向对象编程的现代语言,PHP经历了多次重大更新。本文探讨PHP的现代演进历程,重点介绍其在Web开发中的应用及框架创新,如Laravel、Symfony等。这些框架不仅简化了开发流程,还提高了开发效率和安全性。
73 3
PHP在Web开发中的不可替代性###
——守护Web开发基石,PHP的独特魅力与广泛应用解析
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
这是一份实用的鸿蒙Web多设备适配开发指南,针对开发者在不同屏幕尺寸下的布局难题提供了解决方案。文章通过三大法宝(相对单位、媒体查询和窗口监听)详细介绍如何实现智能适配,并提供了多个实战案例,如宫格布局、对话框变形和自适应轮播图等。此外,还分享了调试技巧及工具推荐,帮助开发者快速上手并优化性能。最后鼓励读者实践探索,并提示更多官方资源等待发现。
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
TIS 是一款基于Web-UI的开源大数据集成工具,通过与人大金仓Kingbase的深度整合,提供高效、灵活的实时数据集成方案。它支持增量数据监听和实时写入,兼容MySQL、PostgreSQL和Oracle模式,无需编写复杂脚本,操作简单直观,特别适合非专业开发人员使用。TIS率先实现了Kingbase CDC连接器的整合,成为业界首个开箱即用的Kingbase CDC数据同步解决方案,助力企业数字化转型。
656 5
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问