首页 > 代码库 > [转载]php 数组 类对象 值传递 引用传递 区别
[转载]php 数组 类对象 值传递 引用传递 区别
一般的数据类型(int, float, bool)不做这方面的解说了
这里详细介绍一下数组和的类的对象作为参数进行值传递的区别
数组值传递
实例代码:
<?php function main() { $cc = array( ‘a‘,‘b‘ ); change($cc); var_dump($cc); die;}function change($cc){ $cc = array(‘dd‘);}main();?>
output:
array(2) {
[0]=>
string
(1)
"a"
[1]=>
string
(1)
"b"
}
数组引用传递
<?php function main() { $cc = array( ‘a‘,‘b‘ ); change($cc); var_dump($cc); die;}function change(&$cc){ $cc = array(‘dd‘);}main();?>
outpout:array(1) { [0]=> string(2) "dd"}
类对象值传递
<?phpclass pp{ public $ss = 0;}function main() { $p = new pp(); change($p); var_dump($p); die;}function change($p){ $p->ss = 10;}main();?>
output:object(pp)#1 (1) { ["ss"]=> int(10)}
类对象引用传递
<?phpclass pp{ public $ss = 0;}function main() { $p = new pp(); change($p); var_dump($p); die;}function change(&$p){ $p->ss = 10;}main();?>
object(pp)#1 (1) { ["ss"]=> int(10)}
总结:php中,数组是当一个普通变量,值传递是要一个实参的一个拷贝副本,跟实参无关,引用传递后可以改变实参的值
而类的对象是无论值传递和引用传递都是引用传递,是对对象的引用,都会改变实参的值
转自:http://www.cnblogs.com/zcy_soft/archive/2011/12/10/2283570.html
[转载]php 数组 类对象 值传递 引用传递 区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。