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发电子邮件
Oct 09 PHP
用php解析html的实现代码
Aug 08 PHP
php不用正则验证真假身份证
Nov 06 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
Mar 17 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 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和浏览器重定向
2009/03/16 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
php框架知识点的整理和补充
2021/03/01 PHP
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
Python判断直线和矩形是否相交的方法
2015/07/14 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
关于反爬虫的一些简单总结
2017/12/13 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
python hash每次调用结果不同的原因
2019/11/21 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
基于python实现操作redis及消息队列
2020/08/27 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
Python如何实现单例模式
2016/06/03 面试题
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
离婚被告答辩状
2015/05/22 职场文书
天那边观后感
2015/06/09 职场文书
行政处罚决定书
2015/06/24 职场文书
java基础——多线程
2021/07/03 Java/Android