您当前的位置: 首页 >  php

暂无认证

  • 2浏览

    0关注

    94619博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

PHP面向对象语法2(系列篇)

发布时间:2022-01-30 00:21:40 ,浏览量:2

原生foreach遍历
 public $name="cyg"; public $sex="男"; const BIRTHPLACE="地球"; public function eat($food) { "正在吃{$food}"; } } $hanMM=new Humanity(); foreach ($hanMM as $key => $value) { # code... var_dump("下标:   ".$key); echo "
"; var_dump("值:  ".$value); echo "
"; } 

foreach的遍历核心在于一次foreach遍历完是一次键值对遍历完. 在这里插入图片描述

instanceof:
 public $name="cyg"; public $sex="男"; const BIRTHPLACE="地球"; public function eat($food) { "正在吃{$food}"; } } class Room { } $hanMM=new Humanity(); var_dump($hanMM instanceof Humanity); 

解析: 判断这个$hanMM这个对象是不是属于Humanity这个类所创建出来的.

var_dump(对象 instanceof 类); 

在这里插入图片描述

get_class()
 public $name="cyg"; public $sex="男"; const BIRTHPLACE="地球"; public function eat($food) { "正在吃{$food}"; } } class Room { } $hanMM=new Humanity(); var_dump(get_class($hanMM)); 

解析: 这个对象是哪个类创建出来的. 在这里插入图片描述

引用传递:
$a=10; $b=&$a; $a=100; var_dump($a); var_dump($b); 

普通类型的引用传递&是我们都是一样的

在这里插入图片描述 对象类型的引用传递:

 public $name="cyg"; public $sex="女"; } $hanMM=new Humanity(); $xiaoHan=$hanMM; $hanMM->name='小韩'; var_dump($xiaoHan); var_dump($hanMM); 

在这里插入图片描述

clone:

clone的核心在于复制,不是引用,所以和引用相反的

与=的区别:
 public $name; public $sex; public $iq=10; const BIRTHPLACE='地球'; //类方法就是一段等待执行的代码,相对于该类所有的实例都是一样的,方法里面本身并不保存数据,在该类所有的实例中方法的代码其实是共享的! public function eat($food){ echo "{$this->name}正在吃{$food}!"; } } $hanMM=new Humanity(); $hanMM->name='韩梅梅'; $hanMM->sex='女'; $a=new Humanity(); $a->name='韩梅梅'; $a->sex='女'; $xiaoHan=$hanMM; $daHan=clone $hanMM; var_dump($hanMM==$a); var_dump($hanMM===$a); var_dump($xiaoHan===$hanMM); var_dump($daHan===$hanMM); 

解析: 第一:同一个类下的对象==可以,===不行,原因是他们值相等。但是地址不同. 第二:clone只是复制,和原有什么关系都没有。 在这里插入图片描述

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.0484s