对象遍历|学习笔记

简介: 快速学习对象遍历

开发者学堂课程【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 的特性。

相关文章
|
4月前
集合中常见方法及遍历方式
集合中常见方法及遍历方式
32 1
|
7月前
|
存储 算法 Java
Java数组与集合的深入解析
Java数组与集合的深入解析
75 0
|
7月前
各种遍历方法以及注意点
各种遍历方法以及注意点
53 0
|
存储 索引
数组和对象有什么区别?
数组和对象有什么区别?
88 0
|
存储 JavaScript 前端开发
什么是数组,什么是对象,他们的区别是什么
什么是数组,什么是对象,他们的区别是什么
69 0
13.从入门到精通:Python 集合 集合的基本操作 1、添加元素 2、移除元素 3、计算集合元素个数 4、清空集合 5、判断元素是否在集合中存在 集合内置方法完整列表
13.从入门到精通:Python 集合 集合的基本操作 1、添加元素 2、移除元素 3、计算集合元素个数 4、清空集合 5、判断元素是否在集合中存在 集合内置方法完整列表
|
JavaScript Java API
都2022年了你不会还没搞懂对象数组的遍历吧
对象、数组的遍历在我们日常开发中基本上天天能碰到,但是对象、数组都有哪些遍历方法,各方法之间又有什么区别你们真的清楚了吗?今天笔者就来总结下。
81 0
|
存储 算法 前端开发
嵌套遍历同一个数组的时候,试试Map优化
嵌套遍历同一个数组的时候,试试Map优化
157 0
关于对象遍历的时候的一些排序问题
关于对象遍历的时候的一些排序问题
110 0
关于对象遍历的时候的一些排序问题
v-for遍历对象、数组
v-for遍历对象、数组
125 0