函数的参数传递和返回值-PHP8知识详解

本文学习的是《php8知识详解》中的《函数的参数传递和返回值》。主要包括:向函数传递参数值、向函数传递参数引用、函数的返回值。

Image

1、向函数传递参数值

函数是一段封闭的程序,有时候,程序员需要向函数传递一些数据进行操作。可以接受传入参数的函数定义形式如下:

function 函数名称(参数1,参数2){算法描述,其中使用参数1和参数2;
}

向函数传递参数值,示例代码:

<?php
function myFunction($param1, $param2) {// 在函数中使用传递的参数echo "参数1的值为:" . $param1 . "<br>";echo "参数2的值为:" . $param2 . "<br>";
}// 调用函数并传递参数值
myFunction("Hello", "World");?>

在PHP8中的运行结果为:

参数1的值为:Hello
参数2的值为:World

在上述示例中,我们定义了一个名为myFunction的函数,它接受两个参数$param1和$param2。在函数体内,我们使用echo语句打印出传递的参数值。最后,我们通过调用myFunction函数并传递参数值"Hello"和"World"来执行函数。

2、向函数传递参数引用

向函数传递参数引用就是将参数的内存地址传递到函数中。此时,函数内部的所有操作都会影响调用参数值。

使用引用传递方式传值时只需要在原来的基础上加上“&”即可。

向函数传递参数引用,示范代码:

<?php
$a = 10;
$b = 20;
function  sum(&$a,$b){$a =  $a * $b;echo "求积运算的结果为:$a";
}
sum($a,$b);
echo "<br>";
sum($a,$b);
echo "<br>";
sum($a,$b);
?>

这段代码展示了一个名为sum的函数在PHP中的使用。首先,变量a被赋值10,变量b被赋值20。

然后定义了一个名为sum的函数,并传入两个参数-引用参数a和普通参数b。在函数内部,

a与b相乘的结果赋值给了$a本身,即它是一个引用参数。然后,打印出"a"的结果。

在主程序中,通过调用sum函数,将a和b传递进去并进行求积运算,并输出结果。由于$a是引用参数,在每次调用sum函数时,它会保持更新。

因此,上述代码会执行三次sum函数调用,每次打印出不同的求积结果。

以上代码在PHP8中的运行结果为:

求积运算的结果为:200
求积运算的结果为:4000
求积运算的结果为:80000

3、函数的返回值

在上面的例子中,都是把函数运算完成的值直接打印出来。

但是,很多情况下,程序不需要直接打印结果,而是仅仅给出结果,并且把结果传递给调用这个函数的程序,为其所用。

这里需要用到return关键字设置函数的返回值。

函数的返回值,示例代码:

<?php
function  sum($a,$b){    //创建函数return $a*$b;    //设置函数的返回值
}
echo "求积运算的结果为:".sum(10,20);
?>

以上代码在PHP8的运行结果为:

求积运算的结果为:200

到此为止,向函数传递参数值、向函数传递参数引用、函数的返回值。就讲解完毕了。

space

 

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

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

相关文章

如何给图片加水印?

如何给图片加水印&#xff1f;在我们的日常生活中&#xff0c;许多热爱摄影的朋友都会选择给自己的照片添加水印。这是因为我们深知&#xff0c;一张出色的照片背后需要付出大量的努力和心血&#xff0c;而通过添加水印可以有效地保护自己照片的版权&#xff0c;这样即使将图片…

数学建模及数据分析 || 4. 深度学习应用案例分享

PyTorch 深度学习全连接网络分类 文章目录 PyTorch 深度学习全连接网络分类1. 非线性二分类2. 泰坦尼克号数据分类2.1 数据的准备工作2.2 全连接网络的搭建2.3 结果的可视化 1. 非线性二分类 import sklearn.datasets #数据集 import numpy as np import matplotlib.pyplot as…

OLBY应用APP说明支持

OLBY应用APP说明支持 OLBY是一款支持在线调节鱼缸灯光控制的APP 支持模拟日出日落&#xff0c;给用户在手持端也可以很好的操作控制设备 技术支持 zcj 331163.com

spring boot 3使用 elasticsearch 提供搜索建议

业务场景 用户输入内容&#xff0c;快速返回建议&#xff0c;示例效果如下 技术选型 spring boot 3elasticsearch server 7.17.4spring data elasticsearch 5.0.1elasticsearch-java-api 8.5.3 pom.xml <dependency><groupId>org.springframework.boot</gr…

迅为RK3588开发板Android12 设置系统默认不锁屏

修改 frameworks/base/packages/SettingsProvider/res/values/defaults.xml 文件&#xff0c;修改为如下 所示&#xff1a; - <bool name"def_lockscreen_disabled">false</bool> <bool name"def_lockscreen_disabled">true</bool&…

在React项目是如何捕获错误的?

文章目录 react中的错误介绍解决方案后言 react中的错误介绍 错误在我们日常编写代码是非常常见的 举个例子&#xff0c;在react项目中去编写组件内JavaScript代码错误会导致 React 的内部状态被破坏&#xff0c;导致整个应用崩溃&#xff0c;这是不应该出现的现象 作为一个框架…

Spring事务的隔离级别

使用事务隔离级别可以控制并发事务在同时执行时的某种行为。 前言&#xff1a; 在学习Spring事务隔离级别前我们先了解一下什么是脏读&#xff0c;幻读&#xff0c;不可重复读。 脏读&#xff1a; 一个事务读到另一个事务未提交的更新数据&#xff0c;所谓脏读&#xff0c;就…

Unity项目如何上传Gitee仓库

前言 最近Unity项目比较多&#xff0c;我都是把Unity项目上传到Gitee中去&#xff0c;GitHub的话我用的少&#xff0c;可能我还是更喜欢Gitee吧&#xff0c;毕竟Gitee仓库用起来更加方便&#xff0c;注意Unity项目上传时最佳的方式是把 Asste ProjectSetting 两个文件夹上传上…

如何使用CSS实现一个自适应两栏布局,其中一栏固定宽度,另一栏自适应宽度?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用Float属性⭐ 使用Flexbox布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感…

代码随想录算法训练营第四十六天 | 139.单词拆分

代码随想录算法训练营第四十六天 | 139.单词拆分 139.单词拆分 139.单词拆分 题目链接 视频讲解 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典…

【附安装】R语言4.3.0安装教程

软件下载 软件&#xff1a;R语言版本&#xff1a;4.3.0语言&#xff1a;简体中文大小&#xff1a;77.74M安装环境&#xff1a;Win7及以上版本&#xff0c;64位操作系统硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;h…

基于swing的旅游管理系统java jsp旅行团信息mysql源代码

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于swing的旅游管理系统 系统有1权限&#xff1a;管…