php中的引用 不是很明白

日复一日伐树的熊哥 2012-01-29 08:31:55
请教哪位高手 能对引用给个比较清晰的解释 说明 (最好举个例子)多谢多谢啊
...全文
202 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
loginnewman 2012-03-04
  • 打赏
  • 举报
回复
php引用不难,好象你想知道类似include的引用吧?到网页教程网3wschool.com查
黄袍披身 2012-03-04
  • 打赏
  • 举报
回复
引用就是代孕生子,想一想就明白了.
的确如helloyou0所说的 不推荐使用.
程序稍微没写好,立刻让你调试半天
casahama 2012-03-04
  • 打赏
  • 举报
回复
知道超级链接不?就是你桌面上面的那一坨图标。这个概念在php里面就叫做引用。
haibrother 2012-03-03
  • 打赏
  • 举报
回复
helloyou0 2012-02-11
  • 打赏
  • 举报
回复
这么说吧, 如果不是太清楚也没啥,
实际上大部分php程序员都不是100%清楚,不会影响你编程太多,

尤其是php5以后,引用的作用更加有限,不是太需要

个人不提倡用.


如果一定要搞清,去看雪候鸟的博客,当然研究php源码更好.
zjfazc 2012-02-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ningxuan4321 的回复:]
还是要好好看手册,引用的作用是
1.给变量起一个别名,当在别名上操作时相当于在这个变量本身操作
2.当给一个函数传递参数时,默认是把一个变量的值复制一份(值传递),无论在函数中对这个变量做了什么操作都是在这个复制品上操作不会影响传递进去的变量本身,而引用传递是直接把一个变量的别名传递进去,对这个别名的任何操作相当于操作这个传进去的变量的本身

下面是个例子


PHP code

……
[/Quote]
+
libo_sina 2012-02-10
  • 打赏
  • 举报
回复
我觉得 引用 用java的思想去理解就清晰多了!就是多个变量都指向一个内存地址,不管操作那个变量,改变的都是同一个内存地址里的数据!
libo_sina 2012-02-10
  • 打赏
  • 举报
回复
我觉得 引用 用java的思想去理解就清晰多了!就是多个变量都指向一个内存地址,不管操作那个变量,改变的都是同一个内存地址里的数据!
ningxuan4321 2012-01-30
  • 打赏
  • 举报
回复
输出结果:

$a is bbbbb
$c is cccccc
the demo is :Array ( [a] => apple [b] => orange [c] => banana )
the demo (in refer function) is :Array ( [a] => dog [b] => dog [c] => dog )
the demo (pass value to refer fun)is :Array ( [a] => apple [b] => orange [c] => banana )
the demo (in refer function) is :Array ( [a] => dog [b] => dog [c] => dog )
the demo (pass reference to refer fun)is :Array ( [a] => dog [b] => dog [c] => dog )
the demo (in value function) is :Array ( [a] => dog [b] => dog [c] => dog )
the demo (pass value to value fun)is :Array ( [a] => dog [b] => dog [c] => dog )
the demo (in value function) is :Array ( [a] => dog [b] => dog [c] => dog )
the demo (pass reference to value fun)is :Array ( [a] => dog [b] => dog [c] => dog )

对照看一下,仔细看明白这个DEMO 引用就不成问题
ningxuan4321 2012-01-30
  • 打赏
  • 举报
回复
还是要好好看手册,引用的作用是
1.给变量起一个别名,当在别名上操作时相当于在这个变量本身操作
2.当给一个函数传递参数时,默认是把一个变量的值复制一份(值传递),无论在函数中对这个变量做了什么操作都是在这个复制品上操作不会影响传递进去的变量本身,而引用传递是直接把一个变量的别名传递进去,对这个别名的任何操作相当于操作这个传进去的变量的本身

下面是个例子


<?php
/**
*引用和传值的例子
*
*author:Dave Ning
*/
//==========functions=============================================
//内部采用引用处理
function TestRefer($a)
{
foreach($a as &$b)
{
$b = 'dog';
}

dumpArray($a, 'the demo (in refer function) is :');
}

//内部采用值处理
function TestValue($a)
{
foreach($a as $b)
{
$b = 'dog';
}

dumpArray($a, 'the demo (in value function) is :');
}

//输出数组
function dumpArray($arr, $str='')
{
echo($str);
print_r($arr);
echo('<br />');
}
//=============function end================================
// variant reference
$a = 'aaaa';
$b = &$a;
$b = 'bbbbb';
echo('$a is ' . $a . '<br />');

$c = 'cccccc';
$d = $c;
$d = 'ddddd';
echo('$c is ' . $c . '<br />');

//function reference
$demo = array('a' => 'apple',
'b' => 'orange',
'c' => 'banana');
dumpArray($demo, 'the demo is :');
//传值
TestRefer($demo);
dumpArray($demo, 'the demo (pass value to refer fun)is :');
//传引用
TestRefer(&$demo);
dumpArray($demo, 'the demo (pass reference to refer fun)is :');

//传值
TestValue($demo);
dumpArray($demo, 'the demo (pass value to value fun)is :');
//传引用
TestValue(&$demo);
dumpArray($demo, 'the demo (pass reference to value fun)is :');

?>
fxs_2008 2012-01-29
  • 打赏
  • 举报
回复
最好是看手册,一句一句地看!
yuzhi3156 2012-01-29
  • 打赏
  • 举报
回复
同求,经典案例,简单易懂的来!

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧