Portál AbcLinuxu, 12. května 2025 23:57

Dotaz: PHP - Rozdíl ve foreach

30.3.2014 15:54 Jana
PHP - Rozdíl ve foreach
Přečteno: 235×
Odpovědět | Admin
Ahoj, prozradí mi někdo, jaký je přesně rozdíl ? Děkuji.
$a = array(1, 2, 3, 4);
mezi tímto
foreach ($a as $v) ...
a mezi tímto
foreach ($a as &$v) ...

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.3.2014 16:02 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Rozdíl ve foreach
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak si zkus to těch cyklů napsat
$v *= 2;
a pak si ta pole vypiš. Hned uvidíš rozdíl.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
30.3.2014 17:17 Jana
Rozbalit Rozbalit vše Re: PHP - Rozdíl ve foreach
Výsledek jsem dostala v obou případech zcela stejný a to 2468, tady aspoň jsem žádný rozdíl nenašla.
Josef Kufner avatar 30.3.2014 17:18 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PHP - Rozdíl ve foreach
Vypisuj to pole, nikoliv $v.
Hello world ! Segmentation fault (core dumped)
31.3.2014 12:07 logik
Rozbalit Rozbalit vše Re: PHP - Rozdíl ve foreach
A pak ještě pozor na to, že když používáš ... as &$v ... je díky skvělým koncepčním megaúberhypervlastnostem PHPka "morální" povinnost provést
unset($v)
jinak si zaděláš na budoucí průšvih, viz

$pole = array(1,2,3);
foreach($pole as &$v)
   $v = $v*2;
var_dump($pole);
$v = 1;
var_dump($pole);

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.