$this->lang = &$lang; 后面的 &$是啥意思?(php引用运算符)

zblog2年前php45

$this->lang = &$lang; 后面的 &$是啥意思?(php引用运算符)

在zblog中出现如:

image.png


        //基本配置加载到$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中,&$ 是一个引用运算符。

当你在一个变量前使用 & 符号,你实际上是在声明一个引用。这意味着,如果你更改了引用的值,原始变量的值也会被更改,因为它们实际上是同一个对象的两个不同名称。

考虑以下示例:

image.png


在上面的例子中,$a 的值最初是5。但是,当我们声明 $b = &$a; 时,我们创建了一个指向 $a 的引用。因此,当我们更改 $b 的值时,$a 的值也会被更改。

回到你给出的代码片段 $this->lang = &$lang;

这意味着 $this->lang 被设置为 $lang 的引用。这意味着,如果外部的 $lang 变量发生更改,内部类中的 $this->lang 也会反映这些更改。这可以用于确保内部和外部变量保持同步。


相关文章

php函数的参数类型,默认参数,可变参数 等都有啥参数类型?举例。

php函数的参数类型,默认参数,可变参数 等都有啥参数类型?举例。在 PHP 中,函数的参数可以分为以下几种类型:位置参数(Positional Parameters):位置参数是函数定义时必须按照特...

php的 is_uploaded_file 函数- if (is_uploaded_file($_FILES[$key]['tmp_name'])) { 的 is_uploaded_file 是啥意思

php的 is_uploaded_file 函数- if (is_uploaded_file($_FILES[$key]['tmp_name'])) { 的 is_uploaded_file 是啥意思

if (is_uploaded_file($_FILES[$key]['tmp_name'])) { 的 is_uploaded_file 是啥意思在PHP中,is_uploaded_...

PHP 把字符串 转为json

<?php  $jsonString = '{"message":"Hello, World!"}'; &n...

PHP 一个函数名 只能定义一次吗?多次定义会不会报错。

PHP 一个函数名 只能定义一次吗?多次定义会不会报错。

PHP 一个函数名 只能定义一次吗?多次定义会不会报错。在 PHP 中,函数名是全局唯一的,这意味着每个函数名只能定义一次。如果你尝试定义一个已经存在的函数名,PHP 将会抛出一个错误。这是因为在 P...

@move_uploaded_file 和 move_uploaded_file 有啥区别(php使用post上传文件 $_FILES )

@move_uploaded_file 和 move_uploaded_file 有啥区别(php使用post上传文件 $_FILES )

@move_uploaded_file 和 move_uploaded_file 有啥区别(php使用post上传文件 $_FILES )???@move_uploaded_file 和&n...

PHP 一个函数名 只能定义一次!那么 php函数支持重载吗

PHP 一个函数名 只能定义一次!那么 php函数支持重载吗

PHP 一个函数名 只能定义一次!那么 php函数支持重载吗?在 PHP 中,一个函数名确实只能定义一次。这意味着你不能使用相同的函数名定义多个函数,因为 PHP 不支持函数重载(Function O...