Avatar
informatik87
Člen
Avatar
informatik87:

Zdravím, pořád nemůžu přijít na chybu v podmínce:

if (!empty($parametry[0]) && $parametry[0] != ('nejnovejsi' || 'nejstarsi' || 'nahodne'))
        {
           ...
        }
        else if (!empty($parametry[0]) && $parametry[0] == ('nejnovejsi' || 'nejstarsi' || 'nahodne'))
        {
           ...
        }

Vždy se provede až else if.

 
Odpovědět 8.11.2014 16:36
Avatar
Odpovídá na informatik87
Martin Konečný (pavelco1998):

Nemůžeš v tý podmínce psát

('neco' || 'neco' || 'neco')

ale

$p = 'neco' || $p = 'neco' || $p = 'neco'

Myslím, že se ve tvém případě provede následovně:

  1. ('nejnovejsi' || 'nejstarsi' || 'nahodne') se vyhodnotí a výsledkem bude true. Z toho vznikne podmínka $parametry[0] != true
  2. $parametry[0] se převede na bool hodnotu (a jelikož něco zřejmě obsahuje, tak to bude true). Z toho vznikne podmínka true != true
Editováno 8.11.2014 16:43
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 8.11.2014 16:40
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 2 zpráv z 2.