![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Czy jest możliwość iterowania po interfejsach Traversable/Iterator za pomocą innej pętli niż foreach" title="Zobacz w manualu PHP" target="_manual?
Np. ArrayIterator/ArrayObject za pomocą konstrukcji:
Ta mi nie działa? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Wg mnie tylko foreach.
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Hmm, w komentarzach wczoraj jeszcze to znalazłem: http://us3.php.net/manual/en/language.oop5...tions.php#75215
Tylko foreach" title="Zobacz w manualu PHP" target="_manual, ale nie rozumiem, czemu np. next" title="Zobacz w manualu PHP" target="_manual działa ok... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Może rozwiązania trzeba by poszukać w źródłach PHP. Być może foreach korzysta z next() a while() już nie? Nie mam pojęcia.
Kolejna sprawa: wg tego co pisze w komentarzu: Cytat If you do <? reset($a); next($a); echo current($a); ?> where $a is defined over the suggested template, then the first element will be output, not the second, as expected. To next chyba nie do końca działa? |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Hmm, dziwna sprawa nieco...
Wynalazłem gdzieś taki listing (Countable nie ma tu żadnego znaczenia, po prostu potrzebny jest do mojej zabawki (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ):
Wczoraj podczas moich prób next" title="Zobacz w manualu PHP" target="_manual zwracał wartość wg interfejsu Iterator, dzisiaj się zachowuje jak each" title="Zobacz w manualu PHP" target="_manual - iteruje po własnościach klasy... O.o Na tym samym hoście, ten sam interpreter... Zupełny zonk... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 8 Dołączył: 16.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
A jeśli byś urzył:
Kod while($obj->valid()){
// wyciągasz co chcesz } |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ja używam. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Wiem, że tak się da, ale chciałem po prostu osiągnąć coś a'la Prototype; wykorzystać jak najwięcej funkcji interpretera tak, aby Iterator był interfejsem przezroczystym w implementacji. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 08:46 |