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 相关文章推荐
PHP中的日期及时间
Nov 23 PHP
php学习之 认清变量的作用范围
Jan 26 PHP
php+mysql实现用户注册登陆的方法
Jan 03 PHP
php删除指定目录的方法
Apr 03 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
Apr 27 PHP
php微信开发之关注事件
Jun 14 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
Thinkphp5.0框架视图view的模板布局用法分析
Oct 12 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 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
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
2013/07/01 PHP
php eval函数一句话木马代码
2015/05/21 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
javascriptvoid(0)含义以及与&quot;#&quot;的区别讲解
2019/01/19 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
Linux机考试题
2015/10/16 面试题
安全宣传标语
2014/06/10 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
表扬稿范文
2015/01/17 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
街道社区活动报告
2015/02/05 职场文书
2015毕业寄语大全
2015/02/26 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers