php中$this的作用?什么时候用?

发布网友 发布时间:2022-04-06 07:52

我来回答

3个回答

懂视网 时间:2022-04-06 12:14

作用:

this是在实例化的时候用来确定指向谁。所以说,this就是指向当前对象实例的指针,不指向任何其他对象或类。

具体分析:

$this 的含义是表示实例化后的具体对象!$this->表示在类本身内部使用本类的属性或者方法。‘->’符号是“插入式解引用操作符”(infix dereference operator)。

举例:

比如我们声明一个User类!它只含有一个属性 $name;

<?php
class User
{
 public $_name;
}
?>

现在,我们给User类加个方法。就用getName()方法,输出$name属性的值吧!

<?php
class User
{
 public $name;
 function getName()
 {
  echo $this->name;
 }
}
$user1 = new User();
$user1->name = '张三';
$user1->getName(); //这里就会输出张三!
$user2 = new User();
$user2->name = '李四'; 
$user2->getName(); //这里会输出李四!
?>

上面创建了两个User对象。分别是 $user1 和 $user2 。

当调用 $user1->getName()的时候。上面User类中的代码 echo $this->name ; 就是相当于是 echo $user1->name;

如果您想了解更多相关教程,请访问gxlcms。

热心网友 时间:2022-04-06 09:22

$this 其实是一个特殊的变量,它指向本类。它不可以赋值,像 $this=var 这种写法都是错的。

如:

class aa{

private $x;

function __construct(){

$this->x='10'; //这里的 $ this 就代表 aa 类中的属性x

}

}

$this->x='10'; //这里的 $ this 就代表 aa 类,$this->x代表当前类aa中的属性x

热心网友 时间:2022-04-06 10:40

指的是当前对象的意思,在类的内部使用。

class test {
    public $name;
    
    public function setName($name)
    {
        $this->name = $name;
    }
    public function getName() 
    {
        return $this->name;
    }
}

$test = new test();
$test->setName("张三");
$name = $test->getName();
echo $name; // 张三

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com