Autor Zpráva
robbie
Profil
Ahoj, muze mi prosim nekdo oznacit cast kodu, kde se osetri, ze za posledni cislici nebude carka a kde v kodu se urci, ze pred prvnim cislem nebude carka, dekuji moc

<?php
// Indikátor, zda je první položka
$prvni=true;
// 10 a 50 jsou sudá čísla, takže je do cyklu nemusíme zahrnovat
for ($i = 11; $i < 50; $i++) {
  // Liché číslo se určí tak, že modulo (zbytek po dělení) 2 je 1
  if (($i % 2) == 1) {
    // Pokud je první položka
    if ($prvni) {
      $prvni = false; // zruší se indikátor první položky
    }
    else {
      echo ", "; // jinak se vypíše oddělovač
    }
    echo $i;
  }
}
pcmanik
Profil
robbie:
Namiesto tejto bludnosti by som to napísal ako echo implode(',', range(11, 50)); a hneď je to zrozumiteľnejšie.
Keeehi
Profil
pcmanik:
U range je potřeba použít ještě třetí parametr (step) s hodnotou 2, aby to generovalo jen lichá čísla.

robbie:
Vždyť na ty otázky máš odpověď v kódu v komentářích. Nějak nevím, co bys na tom mohl nechápat, ale budiž.
Za posledním číslem nemůže být čárka, jelikož se nejdříve vypissuje čárka a pak teprve číslo.
Ošetření pozice před prvním číslem je dosaženo proměnou $prvni. Při prvním průchodu cyklu je podmínka pravdivá, tudíž se vleze do části za if a část else se nevyhodnocuje. Výpis čárky je v části else, proto nebude vypsána a proto se neobjeví před prvním číslem.
robbie
Profil
Keeehi:
to jsem nevěděl, že se nejdříve vypisuje čárka a pak číslo, to je nějaké pravidlo?? Děkuji
Keeehi
Profil
robbie:
Jeko opravdu? Čárka se vypisuje na řádku 13 a číslo se vypistuje na řádku 15. Není to žádné pravidlo ale ten kód je v tomto konkrétním případě takto postaven.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0