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 相关文章推荐
桌面中心(三)修改数据库
Oct 09 PHP
PHP中cookies使用指南
Mar 16 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
php使用正则表达式进行字符串搜索的方法
Mar 23 PHP
PHP浮点数精度问题汇总
May 13 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
php实现图片上传、剪切功能
May 07 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
laravel 解决后端无法获取到前端Post过来的值问题
Oct 22 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 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
PHP中的cookie不用刷新就生效的方法
2012/02/04 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
php实现的css文件背景图片下载器代码
2014/11/11 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
PHP的反射机制实例详解
2017/03/29 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
jQuery实现简单的Ajax调用功能示例
2019/02/15 jQuery
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
探究python中open函数的使用
2016/03/01 Python
Python正则捕获操作示例
2017/08/19 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
实习鉴定范文
2013/12/19 职场文书
职工运动会邀请函
2014/01/19 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
农村产权制度改革实施方案
2014/03/21 职场文书
公司授权委托书范文
2014/09/21 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
招商引资工作汇报
2014/10/28 职场文书
考研复习计划
2015/01/19 职场文书
检讨书格式
2015/05/07 职场文书
报案材料怎么写
2015/05/25 职场文书
外科护士长工作总结
2015/08/12 职场文书