天天看點

php筆記:spl iterators

appenditerator:

$a=new ArrayIterator(array('a','b','c'));
$b=new ArrayIterator(array('j','k','l'));
$appendIte=new AppendIterator();
$appendIte->append($a);
$appendIte->append($b);
foreach ($appendIte as $value) 
{
    echo $value.", ";
}
           

輸出:a, b, c, j, k, l,

ArrayIterator:

ArrayIterator::asort: sort array by values

$a=new ArrayIterator(array(4,3,6,4,2));
$a->asort();
foreach ($a as $value) 
{
    echo $value.', ';

 }
           

DirectoryIterator: a simple interface for viewing the contents of filesystem directories.

for example:

deleting all files in a directory except the one which is last modified

$directory=dirname(__FILE__)."/demo";
$filenames=array();
$iterator=new DirectoryIterator($directory);
foreach($iterator as $fileinfo)
{
     if($fileinfo->isFile()
     {
           $filenames[fileinfo->getMTime()]=$fileinfo->getFilename();
       }
}
ksort($filenames);
print_r($filenames);
$i=0;
if(sizeof($filenames)>1)
{
    if($i>0)
    {
       echo $file."\n";
       unlink($directory."/".$file);
     }
     $i++;
}
}
           

FileSystemIterator

$it=new FilesystemIterator(dirname(__FILE__));
foreach ($it as $fileinfo)
{
    echo $fileinfo->getFilename().",  ";
}
           
上一篇: PHP SPL詳解
下一篇: PHP之SPL函數