gpt4 book ai didi

php - 访问 PHP 函数中的全局变量

转载 作者:IT老高 更新时间:2023-10-28 11:58:06 24 4
gpt4 key购买 nike

根据大多数编程语言的作用域规则,我可以访问在它们内部的函数之外定义的变量,但为什么这段代码不起作用?

<?php
$data = 'My data';

function menugen() {
echo "[" . $data . "]";
}

menugen();
?>

输出是[]

最佳答案

要解决所提出的问题,它不起作用,因为您需要在函数本身中声明要访问的全局变量:

$data = 'My data';

function menugen() {
global $data; // <-- Add this line

echo "[" . $data . "]";
}

menugen();

否则,您可以使用 $GLOBALS['data'] 访问它,请参阅 Variable scope .

即使有点离题,我建议您完全避免使用全局变量,而更喜欢将数据作为参数传递。

在这种情况下,上面的代码如下所示:

$data = 'My data';

function menugen($data) { // <-- Declare the parameter
echo "[" . $data . "]";
}

menugen($data); // <-- And pass it at call time

关于php - 访问 PHP 函数中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15687363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com