php中this关键字用法分析

yipeiwu_com6年前PHP代码库

本文实例讲述了php中this关键字用法。分享给大家供大家参考,具体如下:

下面定义了一个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;
    }
  }
}
?>

以一段代码说明问题,在一个类的定义内部,你无法得知使用何种名称的对象是可以访问的:在编写 Cart 类时,并不知道之后对象的名称将会命名为 $cart 或者 $another_cart。因而你不能在类中使用 $cart->items。然而为了类定义的内部访问自身的函数和变量,可以使用伪变量 $this 来达到这个目的。$this 变量可以理解为“我自己的”或者“当前对象”。因而 '$this->>items[$artnr] += $num' 可以理解为“我自己的物品数组的 $artnr 计数器加 $num”或者“在当前对象的物品数组的 $artnr 计数器加 $num”。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP基于curl实现模拟微信浏览器打开微信链接的方法示例

本文实例讲述了PHP基于curl实现模拟微信浏览器打开微信链接的方法。分享给大家供大家参考,具体如下: 网络上没有可以直接打开微信的浏览器 但是我们可以模拟浏览器 微信浏览器的HTTP_...

浅析Laravel5中队列的配置及使用

浅析Laravel5中队列的配置及使用

前言 队列常常用于两种场景,一种是高并发的情况,一种是耗时的操作,可以将任务放到队列中去,消费者从队列取任务执行,当然还有失败的情况如何处理,以及延迟,重试,更复杂的情况还有优先级的实现...

PHP实现简单的新闻发布系统实例

本文实例讲述了PHP实现简单的新闻发布系统。分享给大家供大家参考。具体如下: 本人小白,一直在公司用模板和框架写PHP,发现有时候连基本的sql语句都忘记了,所以有空想把PHP基础复习下...

深入理解:XML与对象的序列化与反序列化

这篇文章主要讲述XML与对象的序列化与反序列化。并且会附上一些简单的序列化与反序列化方法,供大家使用。假设我们在一个Web项目中有这样两个类复制代码 代码如下:public class...

php通过文件流方式复制文件的方法

本文实例讲述了php通过文件流方式复制文件的方法。分享给大家供大家参考。具体分析如下: php的stream_copy_to_stream()函数可以被用来将一个流中的数据复制到另一个。...