我的代码比这复杂得多,但这只是它的正确性:
$string = "wuddup";
function echothis() {
echo $string;
}
echothis();
有一种简单的方法可以在不说global $string
的情况下执行此操作吗?
原因是,我有一个检查登录功能,有很多变量,我在函数外面有配置变量......
答案 0 :(得分:3)
参数发生了什么?
function echothis($str) {
echo $str;
}
echothis($string);
如果您在管理变量及其范围方面遇到问题,则可能需要重构代码结构。
答案 1 :(得分:1)
只需创建一个类并向其中添加静态变量即可。您可以从任何位置访问它而无需创建类的实例。
class base2 {
public static $var2 = 1;
}
请参阅以下内容
echo base2::$var2;
答案 2 :(得分:0)
你可以让你的函数将变量作为参数或者包含所有这些参数的数组。
$all_variables = array(
"string" => "wuddup",
"number" => 6,
"an_array" => array(1, 3, 4)
);
function example_func($args) {
// does things
}
example_func($all_variables);
或者,您可以创建一个类并通过$this
引用变量。
答案 3 :(得分:0)
您可以将配置变量定义为常量,并在函数内调用它们。