参数传值方式|学习笔记

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

开发者学堂课程【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)参数传值方式是指实参传入到形参后,内部的改变是否对外部有影响

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

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

相关文章
|
6月前
|
存储 C语言
C 语言函数完全指南:创建、调用、参数传递、返回值解析
函数是一段代码块,只有在被调用时才会运行。 您可以将数据(称为参数)传递给函数。 函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用。
188 3
|
XML Java 数据库连接
Mabtis传值方式
Mabtis传值方式
382 0
|
JSON 前端开发 数据格式
四种常见的参数传递方式
四种参数传递方式
195 0
|
5月前
请说出路由传参和获取参数的三种方式
请说出路由传参和获取参数的三种方式
37 1
|
6月前
|
存储 小程序
小程序路由传参的方法?
小程序路由传参的方法?
114 0
|
存储 小程序
小程序路由传参的方法
小程序路由传参的方法
328 0
|
JavaScript 网络架构
vue传参和接受参数方法
vue传参和接受参数方法
【学习笔记之我要C】函数的参数与调用
【学习笔记之我要C】函数的参数与调用
152 0
|
存储 Java Go
函数参数的传递方式 | 学习笔记
简介:快速学习函数参数的传递方式
117 0
函数参数的传递方式 | 学习笔记