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 相关文章推荐
php2html php生成静态页函数
Dec 08 PHP
PHP 命令行参数详解及应用
May 18 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
php数组转换js数组操作及json_encode的用法详解
Oct 26 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
php广告加载类用法实例
Sep 23 PHP
Yii分页用法实例详解
Dec 04 PHP
PHP异常处理浅析
May 12 PHP
PHP编写的图片验证码类文件分享
Jun 06 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 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
图书管理程序(二)
2006/10/09 PHP
解析php中获取url与物理路径的总结
2013/06/21 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
JavaScript获取URL汇总
2015/06/08 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
vue-cli3单页构建大型项目方案
2020/04/07 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
Django进阶之CSRF的解决
2018/08/01 Python
python读取Excel实例详解
2018/08/17 Python
python数据化运营的重要意义
2019/11/25 Python
python实现程序重启和系统重启方式
2020/04/16 Python
教师专业理论水平的自我评价分享
2013/11/09 职场文书
出国签证在职证明
2014/01/16 职场文书
新学期家长寄语
2014/01/19 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
父母教会我观后感
2015/06/17 职场文书
锦旗赠语
2015/06/23 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
MySQL如何使备份得数据保持一致
2022/05/02 MySQL
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript