对象遍历|学习笔记

简介: 快速学习对象遍历

开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第二阶段:对象遍历】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/712/detail/12715


对象遍历


内容介

一、目标

二、概念

三、示例

四、小结


一、目标

理解对象遍历的概念和内容


二、概念

对象遍历:将对象中的所有属性以键值对的形式取出并进行访问,键值对有名字和值

1.对象是一种复合数据类型,对象中真正保存的内容是属性,所以遍历是遍历对象的属性

2.对象的属性本质也是一种键值对关系:名字=值

3.对象遍历就是利用 foreach 对对象中的属性进行取出解析

对象遍历遵循访问修饰限定符的限定:即类外只能遍历所有公有属性

foreach (对象变量 as [属性名变量=>]属性值变量){

#属性名变量代表取出的每个属性的名字

#属性值变量代表取出的每个属性的值

}


三、示例

1.使用 foreach 对对象进行遍历

类里有很多个属性,其中三个公有,一个受保护,一个私有。

#定义类

class Man{

public $name = 'LiLei' ;

public $height = 178;

public $weight = 140;

protected $age = 30;

private $money = 1000;

}

#实例化

$m = new Man();

#遍历

foreach($m as $k => $v){

echo sk . ' : ' . sv . '
';   # $k 为属性名,$v 为属性值

}

实例化之后为了不用再初始化,直接在类里对属性进行初始化。初始化之后就进行遍历输出对象

图片1.png

输出结果里有 name、height 和 weight,而 age 和 money 没有被输出,原因是当前操作虽然叫遍历但是本质是在对象掌握每一个数据取出来,而当前对象的操作是在外部,所以受保护和私有的是不允许在外部访问的。这就是对象的简单遍历。


四、小结

1、foreach 可以对对象像数组一样遍历,因为对象本身属性都是键值对

2、foreach 遍历对象遍历的是对象内部的所有公有属性(在类外:受访问修饰限定符的限制,如果在类的内部方法里访问,可以遍历出所有的属性)

图片2.png

在类内部可以遍历出所有的属性,因为在里面不受限制,在外部限制的原因是需要逐个去取,public 才能取,protected private 取不到,这是 foreach 的特性。

相关文章
|
8月前
|
Java
探索Java集合的3种遍历方式
传统的集合遍历方式 在Java中,我们可以使用传统的循环和迭代器来遍历集合
147 2
|
4月前
各种遍历方法以及注意点
各种遍历方法以及注意点
19 0
|
JavaScript Java API
都2022年了你不会还没搞懂对象数组的遍历吧
对象、数组的遍历在我们日常开发中基本上天天能碰到,但是对象、数组都有哪些遍历方法,各方法之间又有什么区别你们真的清楚了吗?今天笔者就来总结下。
53 0
v-for遍历对象、数组
v-for遍历对象、数组
100 0
关于对象遍历的时候的一些排序问题
关于对象遍历的时候的一些排序问题
关于对象遍历的时候的一些排序问题
|
PHP 开发者
对象遍历学习路径|学习笔记
快速学习对象遍历学习路径,有时需要把对象里的内容全部遍历出来,这种情况下还需要去控制这种遍历,这时就会用到对象遍历。
48 0
|
Scala 开发者 索引
元组的访问和遍历 | 学习笔记
快速学习元组的访问和遍历
100 0
|
存储
集合 案例:存储学生对象并遍历
集合 案例:存储学生对象并遍历
122 0
|
索引
属性遍历,会了又没完全会
我们来归类下,这些都属于哪些属性分类。 了解属性分类以后,让我们再想想 我们又如何获取person 对象的所有属性呢??
90 0
属性遍历,会了又没完全会
【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 )
【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 )
1285 0
【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 )

热门文章

最新文章