Autor | Zpráva | ||
---|---|---|---|
23k Profil |
#1 · Zasláno: 16. 5. 2005, 17:02:10
1/ if (($user =="") OR ($pass=="")) echo "empty";
2/ if ($user =="" OR $pass=="") echo "empty"; Ktery z vyse uvedenych zpusobu je spravne? Dle meho mineni jsou spravne OBA! Kolega tvrdi ze pouze 1/ |
||
Leo Profil |
#2 · Zasláno: 16. 5. 2005, 17:14:31
Odpovite si snadno sam, pokud zjistite
1, jestli to haze syntaktickou chybu (testem) 2, jaka je priorita operatoru (v manualu) Leo |
||
Anonymní Profil * |
#3 · Zasláno: 16. 5. 2005, 17:17:13
No v C# je to jeste vtipnejsi. Je tam mnoho zapisu jednoho a toho sameho. A vsechny spravne
string a; 1, if(a.Trim().Lengh() == 0) 2, if(a.Trim() == "") 3, if(a.Trim() == null) no a nekdy se pisou tyhle podminky za sebou. No ale pak to funguje zarucene |
||
La_ToRaNTe Profil |
#4 · Zasláno: 16. 5. 2005, 17:46:15
Podle mě je správně ten první.
|
||
halogan Profil |
#5 · Zasláno: 16. 5. 2005, 18:23:46
Oba jsou syntakticky správně, ale jsou to prasárny.
Používej empty() a v některých případech isset(). |
||
Leo Profil |
#6 · Zasláno: 16. 5. 2005, 18:30:35
Ale on treba nechce testovat jestli je promenna inicializovana, chce testovat jestli je rovna prazdnemu retezci :-) Leo
|
||
halogan Profil |
#7 · Zasláno: 16. 5. 2005, 21:59:50
Leo: Jo, taky dělám běžně :o)
Já osobně používám pouze empty a isset v případě, kdy chci opravdu použít prázdný řetězec (prázdná value u optionu ve formuláři) |
||
llook Profil |
#8 · Zasláno: 16. 5. 2005, 23:57:39
Oba jsou stejný. viz http://www.php.net/manual/cs/language.operators.precedence.php
V matematice je taky jedno, jestli napíšete "a + b * c - d" nebo "(a + (b * c)) - d". Osobně ale radši píšu závorky i tam kam nemusím, protože chyby v prioritě operátorů se strašně blbě hledají. |
||
23k Profil |
#9 · Zasláno: 17. 5. 2005, 10:06:12
funkcim Isset a Empty znam opravdu dokonale. Zde jsem resil jiny problem. Chtel jsem vedet zda jsou oba zpusoby spravne. Nyni to jiz vim a mohu klidne spat
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0