Procházení foreach přes referenci – fatal error

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jadro007
Člen | 8
+
0
-

Ahoj,
v Nette jsem zkusil použít zápis

foreach($data as &$d) {
        $d = "...";
	/*...*/
}

Tento zápis normálně v PHP používám, ale Nette mi hodilo chybu:

„Fatal Error: An iterator cannot be used with foreach by reference“

Nevíte, jestli to jde nějak nastavit, aby to v Nette fungovalo? Přijde mi to jako docela pohodlný způsob procházení pole, i když samozřejmě můžu napsat:

foreach($data as $key => $d) {
        $d[$key] = "...";
	/*...*/
}

Jde mi jen o tu pohodlnost.. :)

Ondřej Mirtes
Člen | 1536
+
0
-

Tahle chyba nemá nic společného s Nette. Jde o vlastnost PHP. Na obyčejných polích tato funkcionalita funguje, na Iteratoru (tedy objektu s metodou getIterator()) nikoli.