PHP关键字this是指向当前对象的指针。我们将和大家一起结合一个范例来细细研究一下PHP关键字this的相关用法和具体功能体现。

<?phpclass UserName
{
//定义属性private $name;//定义构造函数function __construct($name){$this->name = $name;
//这里已经使用了this指针}//析构函数function __destruct(){}//打印用户名成员函数function printName(){print($this->name);
//又使用了PHP关键字this指针}
}//实例化对象
$nameObject = new UserName
("heiyeluren");
//执行打印
$nameObject->printName();
//输出: heiyeluren
//第二次实例化对象
$nameObject2 = new UserName("PHP5");
//执行打印
$nameObject2->printName(); //输出:PHP5
?> 

我 们看,上面的类分别在11行和20行使用了this指针,那么当时this是指向谁呢?其实this是在实例化的时候来确定指向谁,比如第一次实例化对象 的时候(25行),那么当时this就是指向$nameObject对象,那么执行18行的打印的时候就把print( $this-><name )变成了print( $nameObject->name ),那么当然就输出了"heiyeluren"。

第二个实例的时候,print( $this->name )变成了print( $nameObject2->name ),于是就输出了"PHP5"。所以说,PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。

PHP关键字this指向当前对象指针相关推荐

  1. 如何区分“指向const对象的指针”和“const指针”?

    const是C++中引入的一个新的关键字,它为C++编程带来了很大的方便.指向const对象的指针和const指针是两个名字很接近的概念,对于初学者来说非常容易搞混,这里对它们进行区分. 指向cons ...

  2. 指向常对象的指针变量

    //首先了解指向常变量的指针变量,然后再进一步研究指向常对象的指针变量. //定义一个指向常变量的指针变量ptrconst char * ptr; //定义指向常变量的指针变量的一般形式为const ...

  3. C++ 指向子类的指针转型为指向父类类型指针之后指向的对象地址不变

    C++ 指向子类的指针转型为指向父类类型指针之后指向的对象地址不变 例子: class A{int a;int b; };class B:public A{int c; };int main(){B* ...

  4. const指针和指向const对象的指针

    1.指向const对象的指针 C++强制要求指向const对象的指针也必须具有const特性. const double *ptr; 限定了ptr指针指向double类型const对象的, 即cons ...

  5. C++之指向const对象的指针和const指针

    1.指向const对象的指针 我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针也是const类型. ...

  6. 父类指针可以指向子类对象

    结论:父类指针可以指向子类对象,但是只能访问父类成员,不能访问子类成员 结论:子类指针不可以指向父类对象,需要类型转换才可以 笔记: <1>.当基类指针指向派生类的时候,只能操作派生类从基 ...

  7. 父类指针指向子类对象的问题、父类对象和子类对象之间的问题

    一.父类指针指向子类对象 先上代码: class Base {public:void base_fun1() {}virtual void base_fun2() {cout << &qu ...

  8. 父类(指针、引用)指向子类对象

    父类(指针.引用)指向子类对象 1. 父类类型指向子类对象 include <stdlib.h> #include <iostream> using namespace std ...

  9. C++指向const对象的指针和const指针

    1.指向const对象的指针 我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针也是const类型. ...

最新文章

  1. 3 x 10的python表达式_已知 x = [3, 5, 7],那么表达式 x[10:]的值为_学小易找答案
  2. uri和url的区别
  3. 125. Valid Palindrome
  4. InfluxDB配置文件详解
  5. Mac做深度学习开发【从无到有】
  6. ServletContext读取属性文件
  7. 页面搭建工具总结及扩展架构思考
  8. 2010.11.18 关于向窗口发送消息
  9. 【转载】扫描渗透等工具介绍
  10. spss常态检验_利用SPSS检验数据是否符合正态
  11. 实例分割新作——Instances as Queries
  12. [网络安全自学篇] 七十六.逆向分析之OllyDbg动态调试工具(二)INT3断点、反调试、硬件断点与内存断点
  13. 一招解决谷歌浏览器打不开wiki问题
  14. 安卓证书在线制作工具
  15. Docker push命令推送镜像到远端仓库
  16. Android设备上一张图片的显示过程
  17. jquery对表格行列的操作-jquery动态增加表格行或者列
  18. qmail邮件系统(五)vpopmail和qmailadmin对用户的管理
  19. Redis--慢查询的分析
  20. 移动端字体排版设计准则

热门文章

  1. 检索数据_2_从表中查询部分行
  2. redis集群扩容和缩容_深入理解Redis Cluster集群
  3. hive double 转decimal_一起学习Hive基础(多知识点)
  4. Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04 配置参考文献 ---- Wang Xiao Anhui University CVP
  5. 开灯变形问题(枚举法)
  6. 把javascript中的json对象传到action的list里的方法
  7. 关系数据库NoSQL数据库
  8. 江翰服务器保护系统(JH-Data Backup server)
  9. 12月16日要做的事
  10. ORACLE 异常错误处理