Avatar
Libor Šimo (libcosenior):

Používa sa v php operátor čiarka ako v céčku?
Skúšal som, ale nefungovalo to.

Odpovědět 8.2.2014 12:45
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Jiří Gracík:

Ako sa použivá čiarka v céčku :D?

Nahoru Odpovědět  +3 8.2.2014 12:58
Creating websites is awesome till you see the result in another browser ...
Avatar
Odpovídá na Jiří Gracík
Neaktivní uživatel:

mozna blbost ale nemysli \?
jako C:\\ ?

Nahoru Odpovědět  -4 8.2.2014 13:28
Neaktivní uživatelský účet
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Honza Bittner:

To není čárka, to je lomítko, zpětné.

Nahoru Odpovědět  +2 8.2.2014 13:31
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Jiří Gracík
Zdeněk Pavlátka:

Čárka v jazycích C a C++ je operátor, který zajistí vyhodnocení výrazů na obou stranách, ale neurčuje pořadí vyhodnacení(zleva doprava/zprava doleva). Stejně to funguje např. i v JavaScriptu.

Nahoru Odpovědět 8.2.2014 13:34
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Honza Bittner
Neaktivní uživatel:

ano to vim, ale mohl se i spatne vyjadrit :)

Nahoru Odpovědět 8.2.2014 13:35
Neaktivní uživatelský účet
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Honza Bittner:

Napíšeš příklad v JS? :) Někaj nevím co máš na mysli... :D

Nahoru Odpovědět 8.2.2014 13:41
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Jiří Gracík
Libor Šimo (libcosenior):

Syntax operátora čiarky je jednoduchý – výraz: výraz1, výraz2
Zpracocácá sa tak, že výraz1 sa vyhodnotí a je zabudnutý, potom sa vyhodnotí výraz2 a to je vlastne záverečný výsledok po použití výrazu s operátorom čiarky.
Príklad:

int i = 2, j = 4;        /* toto nie je operátor čiarky */
j = (i++, i – j);      /* toto už je, i bude 3 a j bude -1 */
Nahoru Odpovědět 8.2.2014 13:43
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Nahoru Odpovědět 8.2.2014 13:46
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):

Používa sa hlavne v cykloch.
"Operátor čárka má zcela jedinečnou funkci. Říká překladači udělej tohle a tohle a tohle. To znamená, že se čárka používá pro zřetězení několika operací.

V následujícím cyklu se čárka používá v inicializační části pro inicializaci dvou řídících proměnných cyklu a v části pro inkrementaci i a j."

for(i=0, j=0; i+j<pocet; i++, j++) .......
int i, sum;
for ( i = 1, sum = 0; i<=11; sum +=i, i++)
     ;
Editováno 8.2.2014 13:54
Nahoru Odpovědět 8.2.2014 13:52
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Honza Bittner
Zdeněk Pavlátka:

Hlavní využití má u cyklů, jak psal Libor Šimo (libcosenior) .

Editováno 8.2.2014 13:59
Nahoru Odpovědět  +1 8.2.2014 13:57
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Libor Šimo (libcosenior):

Vrátim sa k pôvodnej otázke.
Po pár testoch som si overil, že operátor čiarka v php pracuje ako v céčku.
Príklad:

$x = $_POST['cislo1'];

for ( $x, $sucin = 1; $x <= 10; $x += 2){
                $sucin *= $x;
                echo("$sucin<br />");
}

Pri vstupe 3 je výsledok
3
15
105
945

Nahoru Odpovědět 8.2.2014 14:13
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Libor Šimo (libcosenior)
Zdeněk Pavlátka:

Na tomhle je ta čárka zrovna k ničemu, protože $x je už před cyklem.

Nahoru Odpovědět 8.2.2014 14:15
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Libor Šimo (libcosenior):

Tak iný príklad:

$i = 0;
        for ( ; $i<11; printf("%d<br />",$i), $i++)
                ;

Hlavne že viem, že to funguje a v prípade potreby sa to dá použiť.

Nahoru Odpovědět 8.2.2014 14:20
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Zdeněk Pavlátka
Libor Šimo (libcosenior):

Odpovedám na toto:
"Na tomhle je ta čárka zrovna k ničemu, protože $x je už před cyklem."

mohlo to byť takto:

for ( $x = 3, $sucin = 1; $x <= 10; $x += 2){
               $sucin *= $x;
               echo("$sucin<br />");
}

Už je to v poriadku? :)

Nahoru Odpovědět  +1 8.2.2014 14:23
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):

Ani by som to nebol začal riešiť tu na fóre, ale jeden príklad mi proste nefunguje a normálne by mal (v céčku ide):

$i = 2;
$j = 4;
$j = ($i++, $i$j);
echo("$i, $j");

Fakt to nechápem.

Nahoru Odpovědět  -1 8.2.2014 14:41
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):

Hovorí sa:
"Proti gustu žiadny dišputát."
Ale nechápem, prečo som dostal dva mínusy za predchádzajúci príspevok, v ktorom som vysvetlil, prečo som to tu vlastne riešil.
Že by som tým niekoho urazil? :O
Skôr som čakal od tých, čo sa smiali operátoru čiarka, že aspoň uznajú chybu.
Bolo by to prinajmenšom spravodlivé.

Nahoru Odpovědět  +4 8.2.2014 15:37
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Honza Bittner:

Nějak jsem nepochopil v čem je lepší

$j = ($i++, $i$j);

než toto, což je přehlednější

$i++;
$j = $i$j;

? :P

Nahoru Odpovědět  +2 8.2.2014 16:02
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Honza Bittner
Libor Šimo (libcosenior):

Ono je to vlastne jedno, kompilátor to asi preloží úplne rovnako, chcel som len vedieť, či sa to dá aj takto použiť v php.
To je všetko.

Nahoru Odpovědět 8.2.2014 17:48
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):

Každopádne si veľmi rozmyslím, kedy a či vôbec použijem túto techniku v nejakom programe. ;)

Nahoru Odpovědět 8.2.2014 17:49
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):

A úplne posledná vec k tejto téme.
Každému sa môže stať, že pri analýze programu od niekoho iného narazí na takúto časť kódu a nebude vedieť o čo ide.
Preto je dobré vedieť, že také niečo existuje.

Mrzí ma, ak sa to čo tu bolo popísané niekomu protivilo. Ospravedlňujem sa.
Otázka je vyriešená, prosím zamknúť vlákno.

Nahoru Odpovědět  +1 8.2.2014 18:01
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Honza Bittner
Jan Vargovský:

V PHP nejde napsat ? :)

$j = $++i – $j;
 
Nahoru Odpovědět 8.2.2014 18:14
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Jan Vargovský
Honza Bittner:

Tak snad

$j = ++$i$j;

ne? :P

A ano, jde to.

Nahoru Odpovědět 8.2.2014 18:21
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Honza Bittner
Jan Vargovský:

Nevím jak je ta správná syntax, PHP jsem viděl jen z rychlíku :D každopádně díky :)

Editováno 8.2.2014 18:27
 
Nahoru Odpovědět  +1 8.2.2014 18:27
Avatar
Odpovídá na Jan Vargovský
Martin Konečný (pavelco1998):

Můžeš napsat tyto dva zápisy:

$i++
++$i
 
Nahoru Odpovědět 8.2.2014 18:28
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Jan Vargovský
Honza Bittner:

Proměnná $pes je stejné jako v C# pes :)

Nahoru Odpovědět  +1 8.2.2014 18:30
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Honza Bittner:

V tomto použití jaké psal on

$j = ++$i$j;

Ti $i++ nebude fungovat.

Nahoru Odpovědět 8.2.2014 18:31
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Honza Bittner
Martin Konečný (pavelco1998):

Ne, to nebude. Jen jsem psal, že může použít oba zápisy.

 
Nahoru Odpovědět 8.2.2014 18:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 28 zpráv z 28.