background image

实例学习 php 中 Iterator 迭代器

本节介绍 php 中的迭代器 Iterator 的具体用法。

 

一,最简单的迭代形式 foreach 语句
1,foreach 可以用于数组, 例如:
 
代码示例:
foreach ($arr as $key=>$value) { echo $key.’ ‘.$value.’/n’;}

2,foreach 也可以用于对象, 例如:
 
代码示例:
foreach ($obj as $property) {echo $property.’/n’;}

注意: 如果在对象之外用这条语句只能输出公有的属性,不能输出私有的和保护的属性。

二,下面通过几个例子,来帮助大家理解 iterator 的用法。
其中 DirectoryIterator,RecursiveDirectoryIterator,LimitIterator 都是 PHP 预定
义的 iterator 类:

例 1,显示/etc/目录下的所有文件(不显示子目录下的文件):
 
代码示例:
<?php
$path = new DirectoryIterator(“/etc/”);
foreach ( $path as $file ){
   echo $file .’/n’;
}
?>

例 2,显示/etc/目录下的嵌套的任意层的子目录中的所有文件(显示出目录路径):
 
代码示例:
<?php
$path = new RecursiveDirectoryIterator(“/etc/”);
  foreach ( $path as $file ){
     echo $file ->getPathname().’/n’;
}
?>

例 3,显示/etc/目录下的前 10 个文件:
 
代码示例:
<?php