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 trim 去除空字符的定义与语法介绍
May 31 PHP
php 过滤器实现代码
Aug 09 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
php ImageMagick windows下安装教程
Jan 26 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
Apr 03 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
示例详解Laravel重置密码代码重构
Aug 10 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
关于ThinkPHP中的异常处理详解
May 11 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
php使用curl伪造浏览器访问操作示例
Sep 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
又十个超级有用的PHP代码片段
2015/09/24 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
JS实现简单表格排序操作示例
2017/10/07 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
详解Vue 全局变量,局部变量
2019/04/17 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
JavaScript中如何调用Java方法
2020/09/16 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
bpython 功能强大的Python shell
2016/02/16 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
教师自我鉴定范文
2014/03/20 职场文书
股权收购意向书
2014/04/01 职场文书
小学数学课后反思
2014/04/23 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
新闻报道稿范文
2015/07/23 职场文书
高三语文教学反思
2016/02/16 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers