php 函数 raise(&$e, ... 这个&是什么意思啊

来源:百度知道 编辑:UC知道 时间:2024/06/05 16:20:45
function raise(&$e, $file = __FILE__, $line = __Line__)
{
//$e为一个异常的实例,将$e保存到$ExceptionStack异常列表中

global $ExceptionStack;

$e_class_name = get_class($e);

unset($Exception);

$Exception["e"] = &$e;
$Exception["file"] = $file;
$Exception["line"] = $line;

$ExceptionStack[] = &$Exception;
}

&$e 是什么意思啊?
$ExceptionStack[] = &$Exception; 什么意思啊

&$e 是 以引用的形式传入参数

也就是说 在 function raise 函数内部 对 $e 的改动。 会更改参数 $e的值

如下例

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

<?php
function foo(&$var)
{
$var++;//这里对 $var 做出了改动
}

$a=5;
foo($a); 传入 $a ,那么 $a++,则 $a 变为了 6
// $a is 6 here
?>

$ExceptionStack[] = &$Exception;

则是 使 $ExceptionStack[] 与 $Exception 具有相同的内容!!

PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:

<?php
$a =& $b;
?>

这意味着 $a 和 $b 指向了同一个变量。