PHP中的this关键字 怎么理解

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

我来回答

4个回答

懂视网 时间: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

下面定义了一个Cart类

<?php
class Cart
{
    var $items;  // 购物车中的项目
    // 把 $num 个 $artnr 放入车中
    function add_item ($artnr, $num)
    {
        $this->items[$artnr] += $num;
    }
    // 把 $num 个 $artnr 从车中取出
    function remove_item ($artnr, $num)
    {
        if ($this->items[$artnr] > $num) {
            $this->items[$artnr] -= $num;
            return true;
        } else {
            return false;
        }
    }
}

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

self是指向类本身,与任何对象实例无关。然后this调用的是实例化的对象$obj

热心网友 时间:2022-04-06 12:14

嗯,是的.就是这么理解的.

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