php - PHP将全局值分配给函数内另一个全局值的引用
问题描述
在使用 PHP 中的全局变量和引用时,我遇到了一个问题。我想将一个变量设置为函数内另一个变量的引用。令我惊讶的是,全局变量在函数调用后失去了它的引用。
在下面的代码中,您可以看到函数内部$a
获取 value 5
,但之后它又返回了旧值 ( 1
)。$x
另一方面,将分配的值保留在函数内部。
<?php
$a = 1;
$x = 2;
function test() {
global $a;
global $x;
$a = &$x;
$x = 5;
echo PHP_EOL;
echo $a . PHP_EOL;
echo $x . PHP_EOL;
}
test();
echo PHP_EOL;
echo $a . PHP_EOL; // $a is 1 here instead of 5
echo $x . PHP_EOL;
$a = &$x;
echo PHP_EOL;
echo $a . PHP_EOL;
echo $x . PHP_EOL;
输出:
5
5
1
5
5
5
为什么$a
函数完成后会丢失它的引用?
解决方案
推荐阅读
- python - 删除名称为空的列
- javascript - Outlook Addin - 是否可以通过一些 config(xml) 文件更改功能区中的加载项按钮位置
- python - 如何在 Sphinx 中引用当前类的名称?
- node.js - 如何使用 jest 在 nodejs 中模拟 redis 客户端
- scala - Spark scala:从 utcstamp 获取工作日(函数适用于特定日期,不适用于整个列)
- delphi - Delphi跨平台:如何显示类似于卸载APK时显示的通知文本?
- python - 同时获取队列中的请求
- python-3.x - 具有类继承的 kwargs 中的默认值
- swift - MapKit,用手指画线并获取坐标
- python - 使用 Flask 使用 Discord 和 Oauth2 制作 Web Dashboard 我需要帮助以将其可视化为 html