Hm, stimmt.
Naja... Ich dummkopf..
Ich hab, zu hoffentlich guter Letzt, noch ein weiteres Problem.
Der Anwender der KLasse soll ja nicht nur die Arrays per Funktion an die Klasse weitergeben können, sondern ihnen in z.B. einer Schleife Werte zuweisen können:
PHP-Code:
<?php
for($i=0;$i<5;$i++) {
$tpl->assignB('arrayKey','Value','arrayName');
$tpl->saveB('arrayName');
}
?>
Hier weise ich dem array
arrayName den Wert
Value zu dem key
arrayKey zu. die Funktion
saveB ist dafür da, dass in der Klasse der Index des Arrays um einen erhöht wird (damit
arrayKey bei jedem Schleifendurchlauf nicht überschrieben wird.)
Soweit natürlich kein Problem.
Problematisch wird es, wenn es eine weitere Schleife gibt.
Beispiel:
PHP-Code:
for($i=0;$i<5;$i++) {
$tpl->assignB('arrayKey','Value','arrayName');
for($i=0;$i<5;$i++) {
$tpl->assignB('bla','wert','test');
$tpl->saveB('test');
}
$tpl->saveB('arrayName');
}
Das array test, welches in der Inneren Schleife gefüllt wird, hat jetzt natürlich 5*5 Elemente. Theoretisch ist das auch richtig so, aber da meine Parse-funktionen erst nach beiden Schleifen ausgeführt werden, werden nachher bei jedem Aufruf des Blockes
test innerhalb des Blockes
arrayName alle 25 Elemente angezeigt. Also sind es nachher 125 Ausgaben.
Wie kann ich das so verhindern, dass ich
a) nachher möglichst wenig zusätzliche Funktionen benötige (saveB() stört mich schon) und
b) diese Schleifen beliebig tief verschachteln kann und alles noch einwandfrei funktioniert.
MfG Oli
PS: Danke für die Hilfe übrigens, alle zusammen.