当前位置:首页 » 编程语言 » php传值与传引用

php传值与传引用

发布时间: 2024-12-21 04:10:46

php引用传递中的&什么意思,有什么用

其实图片中的文字已经描述得很详细了,如果你是循序渐进学到这里的,应该是可以理解的啊。
加了&就是引用传递,就是把实参的内存地址传递给函数内部的形参,这样的话函数内部对形参的任何修改都会直接影响到外部的实参,也就是说这种情况下实参和形参其实是同一个变量;
而不加&则是值传递,就是把实参的值传递给函数内部的形参,这时候函数内部对形参的任何修改都与外部的实参没有任何关系,不会改变实参的值。
打个比方,值传递就好比你给某人100块钱,然后他拿这钱去不管怎么花都与你无关了;而引用传递则好比你把自己的银行帐号密码都告诉某人,那么他此后用这账号所做的任何消费行为都与你的总资产息息相关了!

② php函数中数组作为参数时是值传递还是引用传递

默认情况下,数组是值传递,只有对象是引用传递。

③ PHP中按值传递和引用传递的区别

(1)按值传递:函数范围内对值的任何改变在函数外部都会被忽略

(2)按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改

(3)优缺点:

A:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。

B.按引用传递则不需要复制值,对于性能提高很有好处。

<?php
header('content-type:text/html;charset=utf-8');
//探讨一下array,null,对象,资源的默认传递方式
//结论(1)array默认是值传递,通过加&可以引用传递
//(2)null默认是值传递,通过加&可以引用传递
//(3)资源是值传递.通过加&可以引用传递
//(4)对象默认也是值传递,但是对象值传递是对象标识符
$hero=array('no1'=>'蝙蝠侠','no2'=>'超人');
$hero2=&$hero;
$hero2['no1']='蜘蛛侠';
echo'<pre>';
var_mp($hero);

var_mp($hero2);
$a=null;
$b=&$a;
$b='abc';
var_mp($a,$b);
?>
热点内容
我的世界网易开局就32k的服务器 发布:2025-03-12 02:07:42 浏览:693
怎么用电脑搭建免费服务器 发布:2025-03-12 02:01:43 浏览:611
mysql存储过程和函数 发布:2025-03-12 01:56:36 浏览:187
srt流媒体服务器搭建 发布:2025-03-12 01:55:37 浏览:546
如何查找ftp电影下载资源 发布:2025-03-12 01:37:37 浏览:386
一加保存的密码在哪里 发布:2025-03-12 01:13:06 浏览:89
微信第三方平台源码 发布:2025-03-12 01:12:21 浏览:781
服务器关闭怎么补偿 发布:2025-03-12 01:01:26 浏览:334
c语言复数的四则运算 发布:2025-03-12 01:01:22 浏览:803
我的世界电脑版新的服务器 发布:2025-03-12 01:00:27 浏览:379