什么是php的参数传地址的方式?&

justdooracle 2004-04-07 11:47:01
参数的值,通常使用传值的方式输入,有时在特别的需求时,可以使用传址的方式,传入参数的指标。方法就是在参数的前面加上 & 符号即可。如下例

<?php
function myfunc2(&$argstr) {
$argstr=ereg_replace("/", "-", $argstr);
}

$today="2000/01/01";
myfunc2($today);
echo $today; // 2000-01-01;
?>

我的理解是将参数的地址传递过来,在函数内部修改的过程中,参数本身的值也发生变化。

...全文
327 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
52juanjuan 2004-04-07
  • 打赏
  • 举报
回复
有点跟c里面的指针差不多,php中的地址的地址也与C中的指针的指针有点类同
xuzuning 2004-04-07
  • 打赏
  • 举报
回复
楼主的理解是正确的
lhzyn 2004-04-07
  • 打赏
  • 举报
回复
通过引用传递参数
缺省情况下,函数参数通过值传递(因而即使在函数内部改变参数的值,它 并不会改变函数外部的值)。如果你希望允许函数修改它的参数值,你必须 通过引用传递参数。

如果想要函数的一个参数总是通过引用传递,你可以在函数定义中该参数的 前面预先加上符号(&):
<?php
function add_some_extra(&$string)
{
$string .= 'and something extra.';
}
$str = 'This is a string, ';
add_some_extra($str);
echo $str; // outputs 'This is a string, and something extra.'
?>
shuzai 2004-04-07
  • 打赏
  • 举报
回复
我感觉用这个如果思路不好就容易产生出错了
上面的代码看起来是
$today="2000/01/01";
$today=ereg_replace("/", "-", $today);
echo $today; // 2000-01-01;

myfunc2是个没有renturn却有返回值的函数

:P ,给我可以不用就尽量不要了.
mistjin 2004-04-07
  • 打赏
  • 举报
回复
楼主理解没错啊!给我们送分啊!^_^
Kingdyjz 2004-04-07
  • 打赏
  • 举报
回复
那是,java和php都是由C衍生的嘛~~

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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