我正在'解剖'PunBB,它的一个函数检查BBCode标签的结构并尽可能修复简单的错误:
function preparse_tags($text, &$errors, $is_signature = false)
Run Code Online (Sandbox Code Playgroud)
什么是&
在前面的$error
变量是什么意思?
And*_*ndy 22
它意味着通过引用传递变量,而不是传递变量的值.这意味着preparse_tags
当程序流返回到调用代码时,函数中对该参数的任何更改都将保留.
function passByReference(&$test) {
$test = "Changed!";
}
function passByValue($test) {
$test = "a change here will not affect the original variable";
}
$test = 'Unchanged';
echo $test . PHP_EOL;
passByValue($test);
echo $test . PHP_EOL;
passByReference($test);
echo $test . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)
输出:
不变
不变
变了!
归档时间: |
|
查看次数: |
4621 次 |
最近记录: |