php spl之迭代器iterator

2021-07-04 08:33:19 字數 2295 閱讀 4240

常用方法:

ksort:根據鍵進行排序

asort:根據值進行排序

seek:將interator裡的第乙個元素從0開始標記,依次遞增,seek是指跳到指定標記

迴圈時的方法包括current,rewind,key,next,valid.

使用方式:

常用的有foreach和while,其中我們以前所使用的foreach預設使用的就是迭代器方式。

<?php

$arr= array('1' => 'one',

'2' => 'two',

'3' => 'three');

$arrayobject = new arrayobject($arr);

$iterator = $arrayobject->getiterator();

foreach ($arr

as$k => $v)

//1->one 2->two 3->three

while($iterator->valid())

//1->one 2->two 3->three

if($iterator->valid())

<?php

$array_a = new arrayiterator(array('a','b','c'));

$array_b = new arrayiterator(array('d','e','f'));

foreach ($it

as$key => $value)

//d e f a b c

<?php

$iditer

=new arrayiterator(array('01','02','03'));

$nameiter

=new arrayiterator(array('張三','李四','王五'));

$ageiter

=new arrayiterator(array('22','23','25'));

$mit

=new multipleiterator(multipleiterator::mit_keys_assoc);

$mit

->attachiterator($iditer,"id");

$mit

->attachiterator($nameiter,"name");

$mit

->attachiterator($ageiter,"age");

foreach ($mit as $value)

輸出為:

array

( [id] => 01

[name] => 張三

[age] => 22

)array

( [id] => 02

[name] => 李四

[age] => 23

)array

( [id] => 03

[name] => 王五

[age] => 25

)

<?php

$it = new filesystemiterator('e:\yy');

foreach ($it as $finfo)

輸出為:

2014-08-25 15:54

:42dir 1 32768 6.26

.0.1

2014-08-25 15:58

:06dir 0 36864 6.31

.0.0

2014-08-25 15:58

:22file

xml 209 launcher

.xml

2013-05-21 10:13

:14dir

crt 4096 microsoft

.vc90

.crt

2014-08-22 12:59

:50file

exe 623296 uninstall

.exe

2014-08-22 12:46

:18file

exe 133824 yy

.exe

2014-08-22 12:50

:10file

exe 806080 yylauncher

.exe

iter a 2 迭代器與zip()應用

iter 是python中的迭代器,不太使用,下面展示兩種功能。1.用於簡單迭代 in 53 a out 53 1,2,3,4,5,6 in 54 b iter a in 55 list b out 55 1,2,3,4,5,6 in 57 type b out 57 list iterator2....

Python從放棄到入門 迭代器iterator

通過for迴圈來遍歷乙個list或tuple,這種遍歷我們稱為迭代 iteration 因此,可用於for in迴圈的物件被稱為可迭代 iterable 物件。例如 前面介紹的python內建的資料結構列表 元組 字典 集合,還有字串 range 生成器都是可迭代物件,而整數型別不是可迭代物件。如何...

java無重集合Set與迭代器Iterator

set介面 t型元素的集合,不允許包含相等元素 int size 返回集合的元素個數。boolean isempty 如果集合為空,則返回true.boolean contains object o 如果集合包含與o相等的元素,則返回true.boolean containsall collecti...