引用传递

可以将一个变量通过引用传递给函数,这样该函数就可以修改其参数的值。语法如下: 

<?php

function foo(&$var)

{

    $var++;

}

$a=5;

foo($a);

// $a is 6 here

?>  

注意在函数调用时没有引用符号——只有函数定义中有。光是函数定义就足够使参数通过引用来正确传递了。在最近版本的 PHP 中如果把 & 用在 foo(&$a); 中会得到一条警告说“Call-time pass-by-reference”已经过时了。 

以下内容可以通过引用传递: 

◾ 变量,例如 foo($a)  

◾ New 语句,例如 foo(new foobar())  

◾ 从函数中返回的引用,例如: 

<?php

function &bar()

{

    $a = 5;

    return $a;

}

foo(bar());

?>  

详细解释见引用返回。 

任何其它表达式都不能通过引用传递,结果未定义。例如下面引用传递的例子是无效的: 

<?php

function bar() // Note the missing &

{

    $a = 5;

    return $a;

}

foo(bar()); // 自 PHP 5.0.5 起导致致命错误

foo($a = 5) // 表达式,不是变量

foo(5) // 导致致命错误

?>  

这些条件是 PHP 4.0.4 以及以后版本有的。 

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月29日

热门专题

弥勒综合高中|弥勒综合高中
弥勒综合高中
昆明综合高中|昆明综合高中
昆明综合高中
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学
易捷尔单招|易捷尔单招,易捷尔单招培训,易捷尔单招报名,易捷尔单招考试,易捷尔单招培训学校,易捷尔单招分数
易捷尔单招
易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部