php基础学习之函数

基本概念

是一种语法结构,将实现某一个功能的代码块封装到一个结构中,从而实现代码的重复利用


php函数的定义语法

(与C++/Java很类似,区别在于没有数据类型,因为php是弱类型语言)

function 函数名(参数){

        //函数体

        return 返回值;

}

下图展示了一个实现加法功能的函数

 


php函数命名规范

由字母、数字、下划线组成,不能以数字开头

习惯采用驼峰法下划线法来命名

在一个脚本周期中,不允许出现同名函数(在一个脚本中,包含的文件也属于该脚本,也不允许出现同名函数,因此在一个多文件的项目中都不要使用同名函数!)


php函数参数

和C++/Java一样,php的函数也分形参实参两种参数

值传递

将实参传递给函数,函数在接收参数时会将实参的值赋值给形参,相当于拷贝了一份新值

  • 形参,不具有实际意义,在函数定义时使用的参数
  • 实参,具有实际数据意义的参数,在函数调用时使用的参数

形参是实参的载体,实参在调用时通常需要传入到函数内部参与运算,那么需要在函数内部找到实际数据所在的位置才能找到数据本身

实际调用的时候,将数据以实参的形式传递给形参,给形参赋值,从而使得函数内部可以用到外部数据

引用(址)传递

将实际参数在内存中的地址传递给函数,以便在函数中能够对实际参数的值进行改变

注意,引用传递的参数只能是变量不能是字面量,因为变量在内存中才有地址

语法:在需要引用传递的参数之前加上&符号

默认值

php函数在定义的时候,可以给形参进行初始赋值,如果实际调用时没有提供对应的这个参数,那么形参就会使用函数定义时给的初始默认值来进行运算

需要注意的是默认值只能从右往前给,不能是更左边的参数给了默认值,更右边的参数却没有默认值

 

 


 


php函数的特点(相对于其余编程语言的特点)

  • 只要系统在内存中能够找到对应的函数,就可以执行(函数的调用可以在函数定义之前,而且不必提前声明(C/C++需要提前声明函数))
  • 在php中允许实参个数大于形参个数,尽管函数不用(不明白这个设计有什么用,或许能做为渗透测试的漏洞)
  • 虽然php脚本没有主函数这一概念,但是也可以在脚本中任意位置使用return返回值,该返回值将被提交给包含此脚本的文件,return之后的代码将不会被执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/470001.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第50天 | 70.爬楼梯(进阶) + 322.零钱兑换 + 279.完全平方数

今日任务 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数 70.爬楼梯(进阶) - Easy 题目链接:题目页面 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 思路&a…

软件风险分类整理

软件项目风险分类整理 1.需求分析 2.软件设计 3.编码和单元测试 4.集成和测试 5.验收和维护 6.团队管理 7.成本管理 8.组织管理

【网站项目】228高校教师电子名片系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

第13讲创建图文投票

创建图文投票实现 图文投票和文字投票基本一样&#xff0c;就是在投票选项里面&#xff0c;多了一个选项图片&#xff1b;、 <view class"option_item" v-for"(item,index) in options" :key"item.id"><view class"option_input&…

vuex中Actions详解,代码示例

Vuex 中的 Actions 是用于触发mutations 的一种方式&#xff0c;它可以包含异步操作&#xff0c;并通过提交(commit)mutations 来改变 store 的状态。以下是 Actions 的详细介绍、使用步骤和示例代码&#xff1a; Actions 的介绍&#xff1a; Actions 是 Vuex 中的一个重要概…

chatglm3-6b使用

源码地址 GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型 创建环境 conda create -n chatglm36 python3.11.7 修改源码中依赖&#xff0c;使得使用cuda&#xff0c;否则太慢了 pip3 install torch2.1.2 torchvision0.16.2 to…

imazing怎么连接苹果手机

imazing怎么连接苹果手机 要连接苹果手机&#xff0c;您可以选择使用数据线或无线网络&#xff08;Wi-Fi&#xff09;两种方式。以下是具体的步骤&#xff1a; 使用数据线连接&#xff1a; 准备工具&#xff1a;确保您的Mac或Windows电脑已经安装了iMazing软件&#xff0c;并且…

神经网络:卷积介绍及代码实现

传统卷积运算是将卷积核以滑动窗口的方式在输入图上滑动&#xff0c;当前窗口内对应元素相乘然后求和得到结果&#xff0c;一个窗口一个结果。相乘然后求和恰好也是向量内积的计算方式&#xff0c;所以可以将每个窗口内的元素拉成向量&#xff0c;通过向量内积进行运算&#xf…

波奇学Linux:文件系统

磁盘认识 磁盘被访问的基本单元是扇区-512字节。 磁盘可以看成多个同心圆&#xff0c;每个同心圆叫做磁道&#xff0c;多个扇区组成同心圆。 我们可以把磁盘看做由无数个扇区构成的存储介质。 要把数据存到磁盘&#xff0c;先定位扇区&#xff0c;用哪一个磁头&#xff0c;…

辗转相除法和同余原理

辗转相除法和同余原理 辗转相除法同余原理 辗转相除法 辗转相除法就是用来求出两个数的最大公约数的方法&#xff0c;那么这个方法怎么用呢&#xff1f;举个例子&#xff1a;有两个数&#xff0c;a12,b8&#xff0c;要求这两个数的最大公约数&#xff0c;首先让a%b得到4&#x…

【Linux笔记】进程间通信之管道

一、匿名管道 我们在之前学习进程的时候就知道了一个概念&#xff0c;就是进程间是互相独立的&#xff0c;所以就算是两个进程是父子关系&#xff0c;其中一个进程退出了也不会影响另一个进程。 也因为进程间是互相独立的&#xff0c;所以两个进程间就不能直接的传递信息或者…

使用一根网线,让Ubuntu和正点原子I.MX6ULL开发板互相ping通

1.硬件准备 准备一根网线即可 2. 让windows和I.MX6ULLping通 2.1 找根网线将I.MX6ULL和电脑连起来 2.2 让I.MX6ULL通电运行起来&#xff0c;我这里使用的是正点原子版本的内核、 2.3 进入电脑的网络连接后&#xff0c;按照如下步骤操作 2.4 将ip地址、子网掩码、默认网关…