Autor Zpráva
Chuck
Profil
Zdravím.

Když provedu toto:

          if ("i" == "i")
            {
              echo('###'); 
            } 


tři křížky se nenapíšou. Jak je to možné?

Původně to byla součást kódu pro upload souboru, který měl kontrolovat, zda-li je soubor požadovaného formátu. Protože to nefungovalo, stále jsem podmínku zjednodušoval, až jsem se dostal k tomuto.
Jakto, že se to nevypíše?
mckay
Profil
Chuck:
Spouštíš pravděpodobně jiný soubor, než ten, ve kterém je ten následující kód. Otestoval jsem ho a jede v pořádku.
Chuck
Profil
mckay:
Je to skutečně správný soubor.

Udělal jsem to znovu a funguje to. Avšak stále nechápu, proč to do nynějška nefungovalo...
Majkl578
Profil
Podivné.

echo 'i' == 'i' ? 'y' : 'n'; //y

Funguje jak má, musel jsi někde udělat chybu.
Alphard
Profil
Chuck:
Majkl578 to podle mě upravil víc, než bylo nutné. Zkuste k tomu svému kódu doplnit else větev, jestli se vypíše.
Zkoušel jste i jiný znak než i?
panther
Profil
Alphard:
Zkoušel jste i jiný znak než i?
tohle mě zajímá. Mělo by mít i nějaký skrytý význam, o kterém nevím? Je nějaký důvod, proč by to zrovna s ním nemělo jít nebo jen zkoušíš, co by mohlo být příčinou problému (tady jich moc být nemůže)?
Majkl578
Profil
Alphard:
Vyhodnocení podmínky by mělo být stejné, jen je použita v trochu odlišném kontextu. Samozřejmě jsem zkoušel i jeho variantu:
if ("i" == "i") {
	echo('###'); 
}

Funguje také bez problémů.


Není tahle podmínka v nějaké jiné, která by mohla zapříčinit, že se tento kód vůbec neprovede?
Chuck
Profil
Alphard:
Jiný znak jsem zkoušel.

Majkl578:
Není tahle podmínka v nějaké jiné, která by mohla zapříčinit, že se tento kód vůbec neprovede?
Nemyslím si.

Ovšem když jsem napsal celý program znovu, už to jelo.
Majkl578
Profil
Chuck:
To mě napadá asi poslední alternativa - jeden z řetězců obsahoval nějaký neviditelný znak.
Alphard
Profil
panther:
Zkouším, nic konkrétního s i jsem nemyslel. Obecně se mohlo stát, že se do porovnání dostal nějaký cizí znak (třeba z azbuky apod.) který na pohled vypadá stejně jako i.

Majkl578:
Určitě, jen si myslím, že doplnit else větev a neměnit " za ' bylo v dané situaci vhodnější.

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