Autor Zpráva
Mi24v
Profil
Zdravím,

narazil jsem na zajímavý problém a nemůžu najít nikde řešení. Chci pro zapsání podmínky použít následující syntaxi:

$a = 'nejaky text';
$b = isset($a)? $a : $b;

Možná je to špatný příklad, ale jde mi o to jak při tomto zápisu odstranit větev pro výsledek false a zároveň zachovat syntaxi zápisu podmínky s otazníkem.

Díky za nápady
blaaablaaa
Profil
Mi24v:
K cemu to potrebujes?
$b = isset($a)? $a : null;
Mi24v
Profil
Občas to používám abych si nezapráskal kód podmínkama. Vleze se to na jeden řádek.

U tvého řešení je problém, že to změní hodnotu $b (vím, to jsem neuvedl). Potřebuji, aby se při splnění podmínky proměnná $b změnila a při nesplnění zůstala původní. Složitě napsáno takhle:

$b = isset($a)? $a : $b;

Dá se tímto zápisem odstranit větev false??
Zechy
Profil
Co vim tak při tomhle zápisu je to snad nemožný, pokud to odstraníš, končí kod chybou.
blaaablaaa
Profil
Mi24v:
Neda. Proc nepouzijes if ( isset($a) ) $b = $a; ? Je to takz na jeden radek a prehledne.
Chamurappi
Profil
Reaguji na Mi24va:
Občas to používám abych si nezapráskal kód podmínkama.
Zapráskat si kód terciárním operátorem je lepší? V čem? Co je špatného na podmínkách?

Vleze se to na jeden řádek.
if(isset($a)) $b = $a;
… to je také jeden řádek. Nevím, jak v PHP, ale v JavaScriptu jde psát a && (b = a);. Ale číst takový kód je utrpení.
Mi24v
Profil
Jasně dá se i tak... Ptal jsem se spíše z toho důvodu, abych se dozvěděl něco nového. No a zjistil jsem, že to nejde...

Díky za spolupráci a můžete to zamčít... :-)

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: