PHP面向对象程序设计之对象的遍历操作示例

yipeiwu_com6年前PHP代码库

本文实例讲述了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数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP中计算字符串相似度的函数代码

similar_text — 计算两个字符串的相似度 int similar_text ( string $first , string $second [, float &$perc...

PHP扩展Memcache分布式部署方案

基础环境 其实基于PHP扩展的Memcache客户端实际上早已经实现,而且非常稳定。先解释一些名词,Memcache是danga.com的一个开源项目,可以类比于MySQL这样的服务,...

PHP中两个float(浮点数)比较实例分析

本文实例讲述了PHP中两个float(浮点数)比较方法。分享给大家供大家参考。具体如下: 最近在开发一个合同管理系统的时候,涉及到两个浮点数比较,算是把我郁闷惨了。 在N久以前,就不晓得...

浅析Apache中RewriteCond规则参数的详细介绍

RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始、基础...

解析php获取字符串的编码格式的方法(函数)

如果不清楚字符串的编码格式的话,就可以将这段字符这样检查:$encode = mb_detect_encoding($string, array("ASCII",'UTF-8′,"GB2...