Portál AbcLinuxu, 9. května 2025 19:30
foreach ($arr1 as $key => &$val) {} foreach ($arr2 as $key => $val) {}
foreach ($arr1 as $key => &$val) { $val = 'tohle se uloží to $arr1[$key]'; } foreach ($arr2 as $key => $val) { $val = 'tohle na počátku další iterace zmizí'; }Je to stejné jako při předávání parametru funkci.
foreach ($arr1 as $key => &$val) { $val = 'tohle se uloží to $arr1[$key]'; }
tak i po konci cyklu je $val definovaná jako odkaz do $arr1[*last*], takže když ji přiřadíš hodnotu,
tak si to zmršíš. Takže je "good practice" po tom cyklu udělat unset($val)
(tím zrušíš tu vazbu, ne že smažeš ten prvek pole
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.