php 传值与传引用的区别详解
发布:smiling 来源: PHP粉丝网 添加日期:2014-06-08 22:56:54 浏览: 评论:0
在php中传值与传引用对于我们来讲是有比较大的区别的一个引用可以调用内存地址赋值了,这样只要内存地址中内容变化而赋值的变量也就变化了,付值只是把内存中值给其它变量而己.
传值:
函数参数压栈的是参数的副本.
任何的修改是在副本上作用.没有作用在原来的变量上.
传引用:
压栈的是引用的副本,由于引用是指向某个变量的,对引用的操作其实就是对他指向的变量的操作,(作用和传指针一样,只是引用少了解指针的草纸)
例子代码如下:
- function func1($a) { $a = $a + 1;}
- function func2(&$a) { $a = $a + 1;}
- $sample = 1;
- func1($sample);
- echo $sample; // 输出 1
- $sample = 1;
- func2($sample);
- echo $sample; // 输出 2
- //例代码如下:
- <?php
- $num1 = 15;
- $num2 = &$num1;
- $num2 = 20;
- echo $num1;//输出20
- ?>
- //再比如如下代码:
- <?php
- function func1($a) {
- $a = $a + 1;
- }
- function func2(&$a) {
- $a = $a + 1;
- }
- $sample = 1;
- func1($sample);
- echo $sample; // 输出 1
- $sample = 1;
- func2($sample);
- echo $sample; // 输出 2
- ?>
总结一下:传值的话,如果是非对象,会传一个值的拷贝,对这个变量做任何改动都不影响原值,传引用或者传对象,是传真实的内存地址,对这个变量做的改动会影响原值.
Tags: php 传值 传引用
相关文章
- ·PHP中通过Web 执行C/C++应用程序(2013-11-13)
- ·用PHP实现Ftp用户的在线管理(2013-11-13)
- ·用PHP自动把纯文本转换成Web页面(2013-11-13)
- ·用实例分析PHP5异常处理(2013-11-13)
- ·php5的simplexml解析错误(2013-11-13)
- ·PHP后门的隐藏技巧测试报告(2013-11-13)
- ·PHP缓存技术详谈(2013-11-27)
- ·利用PHP自定义错误处理器处理出错信息(2013-11-27)
- ·PHP作wap开发时遇到的问题(2013-11-27)
- ·php编写大型网站问题集(2013-11-27)
- ·php测试性能代码(2013-11-28)
- ·php 安全register globals设置为TRUE的危害(2013-11-28)
- ·XSLTProcessor 中 registerPHPFunctions 后无法调用 php 函数(2013-11-30)
- ·PHP中常用三种缓存技术(2013-11-30)
- ·新浪微博PHP版SDK的导致20007错误(2013-12-03)
- ·linux中phpMyAdmin错误提示Wrong permissions on configuration file, should no(2013-12-04)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)