| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Hmm, also zumindest in C++ ist es meines Wissens nach so wenn man da während dem iterieren eines Iterators eines der Elemente des Iterators löscht und dann versucht weiter zu iterieren dass das böse in die Hose gehen kann. Was sagt denn ein var_dump auf das List-Objekt nach dem löschen ? Und was für einen Iterator verwendest du ? ArrayIterator auf $this->arrObjectList und dann das IteratorAggregate-Interface implementiert ?
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 01.12.2008
Beiträge: 450
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | Ich glaub nicht, dass es am Iterator liegt... Hast du das Teilen in zwei Schleifen probiert, wie ich meinte? Zu überlegen wäre übrigens auch, ob dein LModel auch ArrayAccess implementieren könnte. Den Getter und Delete hast du ja schon. |
| | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Versuch es mal so: Code: abstract class LModel extends Model implements Countable, IteratorAggreate
{
protected $intPointer = 0;
protected $arrObjectList = array();
public function getObjectByPointer($intPointer)
{
return ($this->arrObjectList[$intPointer]);
}
public function deleteObjectByPointer($intPointer)
{
unset($this->arrObjectList[$intPointer]);
}
public function getIterator()
{
return new ArrayIterator($this->arrObjectList);
}
public function count()
{
return (count($this->arrObjectList));
}
public function clearData()
{
$this->arrData = array();
$this->arrObjectList = array();
$this->rewind();
}
}
Ansonsten fällt mir gerade ein, kann es sein dass dein Iterator irgendwo stecken bleibt ? Hast du mal ein rewind() versucht bevor du das 2te mal ein foreach nutzt ?
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 01.12.2008
Beiträge: 450
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | Wobei es dann schwieriger wird, den Iterator in Subklassen zu manipulieren. Evtl. soll deleteByPointer nicht möglich sein? In diesem Fall müsste man dann eine weitere Klasse für den speziellen Iterator schreiben, ob eine weitere Klasse dann besser oder schlechter wäre weiß ich allerdings nicht. Ich würde auf dem Model sowieso nicht schon in der Elternklasse direkten Zugriff auf die Felder zulassen. |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 06.11.2008
Beiträge: 212
![]() | Also das mit dem Iterator lass ich erstmal so, da muss irgendwie noch ein wenig mehr geändert werden. In 2 Schleifen klappt es nicht. Auch ein rewind() brachte nichts. Allerdings ist mir aufgefallen das wenn ich die letzten beiden Einträge lösche es funktioniert. Wenn aber der Fall eintritt das die ersten 8 Einträge gelöscht werden, geht nichts mehr -.- |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse: Fortgeschritten ![]() | Dein Problem liegt/lag bei: PHP-Code: Beipiel: PHP-Code: |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Von einem Objekt auf ein anders Objekt zugreifen | Xenon54 | PHP Tipps 2009 | 12 | 16.10.2009 16:21 |
| Objekt löschen via Methodenübergabe desselben | nikosch | Software-Design | 19 | 01.06.2009 00:38 |
| [Erledigt] Objekt an Konstruktor übergeben | hawkeye78 | PHP Tipps 2009 | 7 | 28.02.2009 19:01 |
| Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl | brian johnson | Off-Topic Diskussionen | 0 | 06.11.2008 11:54 |
| Objekt aufrufen | nixdorf | PHP Tipps 2008 | 9 | 10.10.2008 18:29 |
| Objekt im GET-Query wird nicht übertragen | Ralpho | PHP-Fortgeschrittene | 10 | 05.05.2008 10:03 |
| Objekt als ComboBox behandeln | Nalincah | PHP Tipps 2008 | 2 | 08.11.2007 03:52 |
| Klassensammlung über ein Objekt zur Verfügung stellen | ecomeback | PHP Tipps 2007 | 7 | 14.07.2007 00:01 |
| PHP-Object (klasseninstanz) als Objekt an WS übergeben. | joni1980 | PHP-Fortgeschrittene | 2 | 10.05.2006 11:25 |
| Zugriff auf verschachteltes Objekt aus Funktion | FloMX | PHP-Fortgeschrittene | 10 | 28.03.2006 17:01 |
| [Erledigt] PHP5 OOP Zugriff aus einem Objekt auf ein externes Objekt | PHP Tipps 2006 | 5 | 28.01.2006 16:05 | |
| Objekt übergeben | Fatal Error | PHP Tipps 2007 | 5 | 28.12.2005 14:43 |
| kann sich ein Objekt selbst serialisieren? | ajo_silent | PHP Tipps 2005-2 | 24 | 27.06.2005 09:13 |
| [Klassen] Untereintrag für Objekt erzeugen? | DannyD | PHP Tipps 2005 | 5 | 17.02.2005 18:13 |
| Objekt in einer Session | suter | PHP Tipps 2004-2 | 2 | 13.12.2004 17:33 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| javascript iterate object, iteration php, daraus ergeben sich drei löschmethoden, php iteration, php objekt aus array entfernen, iterator interface php element entfernen, php objekte durchlaufen, php iterate object, löschmethode, php daten aus objekt entfernen, php element aus object entfernen, php object eintrag löschen, durch dropdown iterieren und einträge löschen js, php object iteration foreach example, iteration objekte löschen, iteration von objekten mit foreach, php list array, objekt liste entfernen iterat, php item aus arrayiterator entfernen, iterator löscht |