Autor | Zpráva | ||
---|---|---|---|
H13 Profil |
#1 · Zasláno: 14. 2. 2008, 22:43:59
Ahoj, potřeboval bych s něčím poradit, v něčem se vyznat:
Je !$objekt->jmeno != 'Jmeno' stejné jako $objekt->jmeno == 'Jmeno' nebo je v tom nějaký háček něco jako: $objekt->jmeno != 'Jmeno' --> objekt se nerovná 'Jmeno' $objekt->jmeno == 'Jmeno' --> objekt se rovná 'Jmeno' !$objekt->jmeno != 'Jmeno' --> neexistuje objekt, který se nerovná 'Jmeno' !$objekt->jmeno == 'Jmeno' --> neexistuje objekt, který se rovná 'Jmeno' Rozebírám jeden skript a potřeboval bych vědět co to znamená... Díky za radu... Honza |
||
rack Profil * |
#2 · Zasláno: 15. 2. 2008, 12:50:16
Bude lepší to vyzkoušet. Každopádně pokud !$objekt->jmeno bude vracet true/false podle toho, zda dana vlastnost existuje nebo ne, pak mi posledni dva vyrazy nedavaji smysl. Nebo $objekt->jmeno je BOOL a potom ten vyraz nema zadnou logiku.
Předpokládám, že se jedná o abstraktní příklad a proto bude dobré se v konkrétním případě podívat jakých typů jsou jednotlivé proměnné / vlastnosti. |
||
Mastodont Profil |
#3 · Zasláno: 15. 2. 2008, 13:01:53
!$objekt->jmeno bude vracet true/false podle toho, zda dana vlastnost existuje nebo ne¨
Nemohi si to teď zkusit, ale zápis !$objekt->jmeno podle mne vrací negaci HODNOTY vlastnosti jmeno, ne to, zda tato vlastnost existuje či ne. |
||
Časová prodleva: 3 dny
|
|||
H13 Profil |
#4 · Zasláno: 18. 2. 2008, 12:02:44 · Upravil/a: H13
Tak dostávám různé výsledky:
if (isset($objekt->jmeno)) { echo "objekt existuje, " . $objekt->jmeno . ", "; if(!$objekt->jmeno != 'Jmeno') { echo "1"; } else { echo "0"; } } Výsledek: objekt existuje, JineJmeno, 1 if (isset($objekt->jmeno)) { echo "objekt existuje, " . $objekt->jmeno . ", "; if($objekt->jmeno == 'Jmeno') { echo "1"; } else { echo "0"; } } Výsledek: objekt existuje, JineJmeno, 0 |
||
Mastodont Profil |
#5 · Zasláno: 18. 2. 2008, 19:00:32
Ano, to je naprosto v pořádku. V prvním bloku máš
!$objekt->jmeno což je false a false se zcela určitě nerovná řetězci "Jmeno", takže podmínka splněna JE a spustíš první echo. Ve druhém případě podmínka "JineJmeno" == "Jmeno" splněna NENÍ a proto spustíš druhé echo. |
||
H13 Profil |
#6 · Zasláno: 18. 2. 2008, 23:17:13
To tedy znamená, že:
!$objekt->jmeno != 'Jmeno' není stejné jako $objekt->jmeno == 'Jmeno' |
||
Mastodont Profil |
#7 · Zasláno: 18. 2. 2008, 23:35:28
Není, ale pro $objekt->jmeno = 'Jmeno' to vyjde stejně.
|
||
Časová prodleva: 16 let
|
0