php自定义函数的“传值”与“传址”学习笔记


参数的传递,可以分为 传值 和 传址 两种,究竟有什么区别呢?


1

2

3

4

5

6

7

8

9

10

function fun($num1,$num2)

{

$num1=100;

$num2=1000;

}

$n1=1;

$n2=10;

fun($n1,$n2);

echo “n1={$n1} n2={$n2}”;

?>

得到的结果是:n1=1 n2=10

这一段代码是传值的过程,自定义函数fun的参数传递具体$n1,$n2的值,这个很容易理解,我之前说的自定义函数都是传值,那什么是传址呢?


1

2

3

4

5

6

7

8

9

10

function fun($num1,&$num2)

{

$num1=100;

$num2=1000;

}

$n1=1;

$n2=10;

fun($n1,$n2);

echo “n1={$n1} n2={$n2}”;

?>

这段代码,n1依然是传值,而n2就是传址了。究竟有什么区别呢? 没错..就是在函数的参数中多了一个“&”取地址符,意思就是把内存地址传递给参数,也就是等于$num2=&$n2,得到的结果是n3=1 n4=1000。

另类资产配置崛起 黄金ETF联接基金密集发行:http://licai.daiyuline.com/jijin/313.html

原油市场惨淡 埃克森美孚86年来首次被降级:http://licai.daiyuline.com/yyjg/312.html

时间: 2024-10-28 14:25:17

php自定义函数的“传值”与“传址”学习笔记的相关文章

C# 函数的传值与传址(转)

http://www.cnblogs.com/mdnx/archive/2012/09/04/2671060.html using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { /* 先来了解一下什么是实参, 什么是形参. 所谓形参其实也就是说函数定义的时候所带的参数. 比如 static

Java传值和传址

调用函数时,传的参数过去可能是传值,也可能是传址.如果是传值,函数内部的操作对参数的值没有影响:如果是传址,函数内部的操作是对参数指向的内存进行操作,会影响参数的值. Java到底是传值还是传址?用下面这个例子可以实验一下: package test; import java.util.ArrayList; import java.util.List; public class ValueAndAddress { public static void f1(int x){ x = x + 5;

javascript的变量,传值和传址,参数之间关系

先把收获晾一下: 1.javascrip变量包含两种类型的值,一种为引用类型的值,一种是基本类型的值.引用类型包括:Array,Object,Function(可以这么理解,非基本类型的都是引用类型);5种基本类型包括:undefined,null,string,boolean,number 2.函数的参数的传递的机制是复制变量值. 书上说:”把函数外部的值复制给函数内部的参数,就和把值从一个变量复制给另一个变量一样.基本类型的传递如同基本类型变量的复制一样,而引用类型的则如同引用类型变量的复制

php传值与传址的区别

PHP中传值和传址的区别, 十分的简单, 看字面的意思大概就知道是什么意思了, 下面通过简单的实例看一下两者的区别. 1 $a = 5; 2 function show(&$b) { 3 $b += 10; 4 echo "函数内部:" . $b . "<hr>";//结果: 15 5 } 6 show($a); 7 echo "函数外部:" . $a . "<hr>";//结果: 15 总结:

JS 基础知识2 传值和传址

要知道传址跟传址,首先我们先了解下数据值的操作. 1复制:可以把它赋值给一个新的变量 2传递:可以将他传递给一个函数或者方法 3比较:可以与另外一个值比较,判断是否相等 简要介绍下传值: 当一个数据是通过值被操作的,那么关系到的是数据的值,在赋值的过程中,是对实际值进行了COPY,储存在一个变量或者属性或数组中,copy的值与原数据是相互独立的. 当数据通过值传递给一个函数时,数据的一份传递给这个函数,如果函数体修改了这个值,只在函数体受影响,函数外的原数据不受影响. 当一个数据通过值和另外一个

javascript . 05 json的组成、for...in 遍历对象、简单数据类型与复杂数据类型的传值与传址、内置对象

对象字面量  JSON var obj = { aaa :999}; var json={"aaa":999,"bbb":888}; "kay":value 对象字面2??定义方法和json很像,只有一点不同,json的key 必须加"" : 对象,数组也可以作为键值 JSON的组成 Javascript Object Notation 对象字面量的一种表现形式 : 键名必须有双引号""包围 : 为什么用J

js 的复制和引用 (传值和传址)

复制(传值-实参):  基本类型赋值.函数参数 引用(传址-形参):  对象.数组.函数

传值与传址

基本类型传值 引用类型传址

Asp:函数是用传值还是传址

传址会把变量的内存地址传递到sub里,在sub里对变量所做的修改就是对原来的变量进行修改,而传值只是把变量的值传递到sub里,此时在sub里修改变量的值不会影响原来的变量. 在vb中调用函数默认是传址(byref),你可以在函数的参数前加byval使用传值方式. Private Sub test(a, ByRef b, ByVal c) a和b都是传址,c是传值 注:在asp中的函数里,默认是传址,如果需要传值,将变量前面加 ByVal 即可.