参数传值方式|学习笔记

简介: 快速学习参数传值方式

开发者学堂课程【PHP 基础入门课程(下)参数传值方式】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/710/detail/12628


参数传值方式

1、目标:

了解参数传值方式的区别和应用

2、概念

参数传值方式:在函数调用时,实参给形参传值时所采用的传值方式

(1)参数传值方式在函数定义时规定  实际传值的落点

(2)参数传值方式有两种:

值传递:默认,即外部数据,如 function a($b)值是否改变无关系。

引用传递:使用&符号,即传递外部变量存储数据的内存地址,如 function a(&$b)

3、步骤

(1)确定函数参数的目的

外部传入数据内部运算,不影响外部:值传递  此较多使用。

外部传入数据内部运算,同时外部也受影响:引用传递

(2)传递实参时要确定形参的传值方式

值传递:数据常量、变量、常量、运算表达式都可以(能有数据都可以)

引用传递:变量

4、示例

#值传递:输出一个指定数到1之间的整数

function display1($n){

while($n > 1){

echo_$n--; #当前$n 最终会等于0(正常正数传入)

}

}

$a = 3;

display1($a);#输出3,2,1

display1(2);#输出2,1

echo $a;#3,没有变化

此种方式为值传递,前面可以传数据,变量,任何带数据的东西。

代码

<?php

#参数传值方式

#值传递

function display1($n){

while($n > 1){

echo $n--,'<br/>';

}

}

运行代码,没有问题。

调用直接传值第一种方法,传数据就可以

display(4); 

运行结果:

image.png

第二种定义变量,传变量进去,常量也可以传,只要带数据就可以。

$n=5;

display($n);

运行结果:

image.png

方案2

echo '<hr/>';

#引用传递

function display2(&$n){

while($n > 1){

echo $n--,'<br/>';

}

}

display2(3);#错误:数值常量不能用于引用传值

运行,出现错误。

image.png

语法编译出现错误,数值常量,不能用于引用。

$n=9

display2($n);

刷新运行正常,此时这是本身在传值时的区别。

当前面用了变量传值之后,

在display(4);

$n=5;

display($n);

位置添加 echo $n;运行,发现n原来是5输出还是5。

而接着输出 echo $n;时运行结果为1,n 最终为1,内部的改变也影响到外部,所以这是引用传值和普通的传递的区别。第一能传的数据有区别,第二传进去之后内部的改变跟外部也会有影响。

5、小结

(1)参数传值方式是指实参传入到形参后,内部的改变是否对外部有影响

值传递:传递数值,内部修改不影响外部(所以外部只要是能得到数据的方式都可以做实参)

引用传递:传递数据的内存地址,内部修改影响外部(所以只能传递变量)

相关文章
|
12月前
|
XML Java 数据库连接
Mabtis传值方式
Mabtis传值方式
378 0
|
JSON 前端开发 数据格式
四种常见的参数传递方式
四种参数传递方式
185 0
|
4月前
请说出路由传参和获取参数的三种方式
请说出路由传参和获取参数的三种方式
28 1
|
5月前
|
存储 小程序
小程序路由传参的方法?
小程序路由传参的方法?
93 0
|
Java
方法的传参过程
方法的传参过程
118 0
|
存储 小程序
小程序路由传参的方法
小程序路由传参的方法
319 0
|
JavaScript 网络架构
vue传参和接受参数方法
vue传参和接受参数方法
【学习笔记之我要C】函数的参数与调用
【学习笔记之我要C】函数的参数与调用
125 0
|
JavaScript
页面传参封装
在含有图文详情的项目中,页面传参是我们必须要使用的,因为我们在第二个页面中获取图文数据是需要数据的,这个数据来源于第一个页面,而我们无法直接从一个页面拿到另一个页面的数据,这个时候就需要用到页面传参来解决这个问题。
83 1
页面传参封装
下一篇
无影云桌面