PHP面向对象程序设计之对象的遍历操作示例


Posted in PHP onJune 12, 2019

本文实例讲述了PHP面向对象程序设计之对象的遍历操作。分享给大家供大家参考,具体如下:

对象的遍历和数组的遍历一样,对象的遍历指的是实例属性的遍历。

下面遍历出来的属性,是在该范围中的“可访问属性”(要考虑访问权限)。

<?php
class A{
  public $p1 = 1;
  protected $p2 = 2;
  private $p3 = 3;
  static $p4 = 4;
}
$obj1 = new A();
foreach($obj1 as $key => $value){//$key表示对象的属性,$value是其对应的值
  echo "<br />属性$key :" . $value;
}
?>

运行结果:

属性p1 :1

可见只有public修饰的属性才能遍历,那如何使一个对象的所有属性都遍历?在类内部写一个遍历的方法即可。

<?php
class A{
  public $p1 = 1;
  protected $p2 = 2;
  private $p3 = 3;
  static $p4 = 4;  //静态属性
  function showAllProperties(){
    foreach($this as $key => $value){
      echo "<br />属性$key :$value";
    }
  }
}
$obj1 = new A();
$obj1->showAllProperties();
?>

运行结果:

属性p1 :1
属性p2 :2
属性p3 :3

但静态属性不属于对象,所以不能遍历。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
PHP实现多服务器session共享之NFS共享的方法
Mar 16 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
php使用ICQ网关发送手机短信
Oct 30 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
Jun 12 #PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 #PHP
PHP面向对象类型约束用法分析
Jun 12 #PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
Jun 12 #PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 #PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 #PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 #PHP
You might like
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
JavaScript 布尔操作符解析  &amp;&amp; || !
2012/08/10 Javascript
jquery easyui使用心得
2014/07/07 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
Vue渲染过程浅析
2019/03/14 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
对python中大文件的导入与导出方法详解
2018/12/28 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
对pytorch的函数中的group参数的作用介绍
2020/02/18 Python
Python关于反射的实例代码分享
2020/02/20 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
公司财务工作总结的自我评价
2013/11/23 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
大学英语专业求职信
2014/06/21 职场文书
大学学生个人总结
2015/02/15 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js