![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 30.10.2005
Beiträge: 274
|
Ganz easy. Eine XML Datei wird eingelesen und der inhalt eines Elementes wird verändert. Warum wird aber das XML Element in $export verändert obwohl ich $page->revision->timestamp ändere? Foreach kopiert doch $export-> zu $page warum ändert sich dann der Timestamp in $export? Normalerweise würde ich das geänderte Element ja wieder $export zurückgeben ungefähr so: $export[$key]->page->revision->timestamp
Ist da irgendwie eine Referenz oder sowas? Gut läuft zwar wie ich will aber ich würde doch den Hintergrund gern wissen PHP-Code:
|
|
|
|
|
|
Nach oben #2 | |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Hi,
habe ich mir selbst noch keine Gedanken drüber gemacht, abe das Manual sagt ja Zitat:
Ist das nun schon die Erklärung? Also quasi, dass das $page in deinem Fall nur eine Referenz auf das entsprechende Array-Element ist? Klingt ja irgendwie auch logisch! |
|
|
|
|
|
|
Nach oben #3 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 662
|
Dürfte es nicht sein. Es wird doch geschrieben, dass foreach mit einer Kopie des Original-Arrays arbeitet und das originale Array nicht angefasst wird. Es müssten also auch alle Referenzen in der Kopie auf die Kopie zeigen und nicht auf das Original... Hmm... Ich hatte so eine Situation leider noch nicht.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
|
|
Nach oben #4 | |
|
Erfahrener Benutzer
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
|
Zitat:
PHP-Code:
Code:
Class [ <internal:SimpleXML> <iterateable> class SimpleXMLElement implements Traversable ] {
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Methods [12] {
Method [ <internal, ctor> final public method __construct ] {
}
Method [ <internal> public method asXML ] {
}
Method [ <internal> public method saveXML ] {
}
Method [ <internal> public method xpath ] {
}
Method [ <internal> public method registerXPathNamespace ] {
}
Method [ <internal> public method attributes ] {
}
Method [ <internal> public method children ] {
}
Method [ <internal> public method getNamespaces ] {
}
Method [ <internal> public method getDocNamespaces ] {
}
Method [ <internal> public method getName ] {
}
Method [ <internal> public method addChild ] {
}
Method [ <internal> public method addAttribute ] {
}
}
}
PHP-Code:
|
|
|
|
|
|
|
Nach oben #6 | |
|
Erfahrener Benutzer
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
|
Zitat:
Composite Patterns. Und ja genau, die Iteration durch die Elemente wird über die Implementierung vom Traversable gewährleistet bzw. in diesem Fall über SimpleXMLIterator -habe ich gerade eben festellen müssen-. |
|
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Zugriff auf Konfiguration im verschachtelten Array | Ben | PHP-Programmierung | 5 | 02.02.2007 12:47 |
| Suche Hilfe: Angebot und Nachfrage berechnen | ljungi | Plauderecke | 6 | 17.12.2006 22:10 |
| [PHP] FTP-Funktionen in PHP nutzen | MrNiceGuy | Tutorials | 0 | 24.05.2006 14:18 |
| Array in Bezug auf ein anderes sortieren... | code5 | PHP-Programmierung | 2 | 15.05.2006 15:56 |
| mit foreach schleife auf 4 fach verschachteltes Array zugreifen | Doggi | PHP-Programmierung | 4 | 01.02.2006 15:45 |