PHP 变量通过引用传递
短信预约 -IT技能 免费直播动态提醒
变量默认按值传递给函数,但在 PHP 中也可以通过引用传递。本文演示如何在 PHP 中通过引用传递。
PHP 变量通过引用传递
& 符号 &
将添加到变量参数的开头,以便在 PHP 中通过引用传递变量。例如,function(&$a)
,其中 global 和 function 的变量目标都是成为全局值,因为它们是使用相同的引用概念定义的。
每当全局变量发生变化时,函数内部的变量也会发生变化,反之亦然。通过引用传递的语法是:
function FunctionName(&$Parameter){
//
}
其中 FunctionName
是函数的名称,Parameter
是一个将通过引用传递的变量。这是一个在 PHP 中通过引用传递的简单示例。
<?php
function Show_Number(&$Demo){
$Demo++;
}
$Demo=7;
echo "Value of Demo variable before the function call :: ";
echo $Demo;
echo "<br>";
echo "Value of Demo variable after the function call :: ";
Show_Number($Demo);
echo $Demo;
?>
上面的代码在函数 Show_Number
中通过引用传递变量 Demo
。见输出:
Value of Demo variable before the function call :: 7
Value of Demo variable after the function call :: 8
让我们尝试另一个示例,以使用和不使用 & 符号通过引用传递。参见示例:
<?php
// Assigning the new value to some $Demo1 variable and then printing it
echo "PHP pass by reference concept :: ";
echo "<hr>";
function PrintDemo1( &$Demo1 ) {
$Demo1 = "New Value \n";
// Print $Demo1 variable
print( $Demo1 );
echo "<br>";
}
// Drivers code
$Demo1 = "Old Value \n";
PrintDemo1( $Demo1 );
print( $Demo1 );
echo "<br><br><br>";
echo "PHP pass by reference concept but exempted ampersand symbol :: ";
echo "<hr>";
function PrintDemo2( $Demo2 ) {
$Demo2 = "New Value \n";
// Print $Demo2 variable
print( $Demo2 );
echo "<br>";
}
// Drivers code
$Demo2 = "Old Value \n";
PrintDemo2( $Demo2 );
print( $Demo2 );
echo "<br>";
?>
上面的代码创建了两个用于更改变量值的函数。当变量通过与符号&
的引用传递时,该函数被同时调用并更改变量的值。
类似地,当通过不带 & 符号的引用传递时,它需要调用函数来更改变量的值。见输出:
PHP pass by reference concept ::
New Value
New Value
PHP pass by reference concept but exempted ampersand symbol ::
New Value
Old Value
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341