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 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
Apr 28 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
Jul 05 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
ThinkPHP中使用Ueditor富文本编辑器
Sep 02 PHP
详解PHP数组赋值方法
Nov 07 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
PHP PDOStatement::fetchObject讲解
Feb 01 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
实例介绍PHP删除数组中的重复元素
Mar 03 PHP
laravel清除视图缓存的代码
Oct 23 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
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
Docker 如何布置PHP开发环境
2016/06/21 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
jquery 指南/入门基础
2007/11/30 Javascript
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
AngularJS+Bootstrap实现多文件上传与管理
2016/11/08 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
python函数局部变量用法实例分析
2015/08/04 Python
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
python实现图片批量压缩程序
2018/07/23 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
公司门卫岗位职责范本
2014/07/08 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2014年部门工作总结
2014/11/12 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL