$this->lang = &$lang; 后面的 &$是啥意思?(php引用运算符)
$this->lang = &$lang; 后面的 &$是啥意思?(php引用运算符)
在zblog中出现如:

//基本配置加载到$zbp内
$this->version = &$blogversion;
$this->option_user_file = &$option_user_file;
$this->option = &$option;
$this->lang = &$lang;
$this->langs = &$langs;
$this->routes = &$routes;
$this->path = &$blogpath;
$this->host = &$bloghost; //此值在后边初始化时可能会变化!
解释:
在PHP中,&$ 是一个引用运算符。
当你在一个变量前使用 & 符号,你实际上是在声明一个引用。这意味着,如果你更改了引用的值,原始变量的值也会被更改,因为它们实际上是同一个对象的两个不同名称。
考虑以下示例:

在上面的例子中,$a 的值最初是5。但是,当我们声明 $b = &$a; 时,我们创建了一个指向 $a 的引用。因此,当我们更改 $b 的值时,$a 的值也会被更改。
回到你给出的代码片段 $this->lang = &$lang;:
这意味着 $this->lang 被设置为 $lang 的引用。这意味着,如果外部的 $lang 变量发生更改,内部类中的 $this->lang 也会反映这些更改。这可以用于确保内部和外部变量保持同步。
![php的 is_uploaded_file 函数- if (is_uploaded_file($_FILES[$key]['tmp_name'])) { 的 is_uploaded_file 是啥意思](https://zblog.gongshi5.com/zb_users/upload/2023/12/202312221703251759596973.png)


