Ukladání proměnných pomocí cyklu do pole

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

Čau,potřeboval bych poradit jak vložit několik proměnných ($a1,$a2,$a3,$a…4,5,6,7) do pole pomocí cyklu.Počet proměnných se mění, u názvu proměnné se případně jen zvětšuje číslo.Díky za pomoc.

filsedla
Člen | 101
+
+1
-
for($i = 1; $i < 10; $i++){

    $key = 'a' . $i;
    if (!isset($$key)) break;
    $array[] = $$key;
}
mi85
Člen | 41
+
0
-

filsedla napsal(a):

for($i = 1; $i < 10; $i++){

    $key = 'a' . $i;
    if (!isset($$key)) break;
    $array[] = $$key;
}

Díky

dez1nd
Člen | 7
+
0
-

filsedla napsal(a):

for($i = 1; $i < 10; $i++){

    $key = 'a' . $i;
    if (!isset($$key)) break;
    $array[] = $$key;
}

cyklus for je s pevným počtem opakování, nejsem si jist jestli je to dobrý příklad když se počet proměnných mění.

Martk
Člen | 651
+
0
-

@dez1nd Myslím, že slovo „pevný“ tam nefigurovalo.

cyklus for – předem známý počet opakování. Může být klidně v proměnné, vytahnuté z databáze, získaný z metody, nemusíme ho znát v době kompilace.

for ($i = $start; $i < $end; $i++) {}

ve while cyklu už je to ošklivější, ale je to věc vkusu:

$i = $start;
while ($i < $end) {
	$i++;
}

while cyklus – používá se, když neznáme počet např. při získávání tokenu.

while ($token = $tokenizer->next()) {}

ve for cyklu je to ošklivější:

for (;$token = $tokenizer->next();) {}

For cyklus používám jen když vyplňuji všechny návěští a není cyklus moc dlouhý, ale je to opravdu jen věc vkusů a vše co se napíše whilem, můžeme napsat forem a obráceně.

Editoval Martk (15. 3. 2017 13:27)