php中this关键字用法分析


Posted in PHP onDecember 07, 2016

本文实例讲述了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 相关文章推荐
smarty简单分页的实现方法
Oct 27 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
php短信接口代码
May 13 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
yum命令安装php7和相关扩展
Jul 04 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
php源码的安装方法和实例
Sep 26 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 PHP
laravel框架之数据库查出来的对象实现转化为数组
Oct 23 PHP
php中final关键字用法分析
Dec 07 #PHP
php中static和const关键字用法分析
Dec 07 #PHP
php抽象方法和抽象类实例分析
Dec 07 #PHP
php接口技术实例详解
Dec 07 #PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 #PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 #PHP
php自定义时间转换函数示例
Dec 07 #PHP
You might like
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
2012/01/09 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
javascript与CSS复习(三)
2010/06/29 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
jQuery 联动日历实现代码
2012/05/31 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
python 实现堆排序算法代码
2012/06/05 Python
python双向链表实现实例代码
2013/11/21 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
协议书的格式
2014/04/23 职场文书
学校安全管理责任书
2014/07/23 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
2014年医院工作总结
2014/11/20 职场文书
会计试用期自我评价
2015/03/10 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
golang定时器
2022/04/14 Golang