Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Operatory porównania.
Kużdo
post
Post #1





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

Ostrzeżenie: (0%)
-----


Witam,

Wiem, że może to być głupie pytanie, ale ciągle mnie dręczy, więc wolę się upewnić i zapytać. Czy można zapisać porównanie "jeśli większy od X i mniejszy od Y to" w jednym porównaniu zamiast w dwóch? Bo np. patrząc na skrypt w którym muszę sprawdzać za jednym razem wiele danych, czy się zgadzają to takich warunków byłoby kilkanaście... Szybko i łatwo można byłoby się pogubić w tak długim if'ie... Więc ciągle zastanawiam się czy można użyć zapisu np.
  1. if((5 < strlen($zmienna1) < 20) AND (5 < strlen($zmienna2) < 20) AND (5 < strlen($zmienna3) < 20) AND (5 < strlen($zmienna4) < 20))


No bo spójrzmy prawdzie w oczy. Który zapis jest ładniejszy?
  1. if((5 < strlen($zmienna1) < 20) AND (5 < strlen($zmienna2) < 20) AND (5 < strlen($zmienna3) < 20) AND (5 < strlen($zmienna4) < 20))
  2.  
  3. if(strlen($zmienna1) > 5 AND strlen($zmienna1) < 20 AND strlen($zmienna2) > 5 AND strlen($zmienna2) < 20 AND strlen($zmienna3) > 5 AND strlen($zmienna3) < 20 AND strlen($zmienna4) > 5 AND strlen($zmienna4) < 20)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kużdo
post
Post #2





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

Ostrzeżenie: (0%)
-----


No właśnie już przepisałem sobie jedną funkcję na kilka, bo funkcje sprawdzające poprawność danych przydadzą się w minimum dwóch miejscach (rejestracja i logowanie).
Mam tylko pytanie, czy można pisać w taki sposób (w taki sposób są pisane niektóre funkcje w Biblii PHP5 i MySQL):
  1. function strlen_login($login) {
  2. return (strlen($login) >= 5 && strlen($login) <= 20);
  3. }

Czy może lepiej (lepiej or ładniej or bezpieczniej or nie_wiem_co):
  1. function strlen_login($login) {
  2. if(strlen($login) >= 5 && strlen($login) <= 20) return true;
  3. else return false;
  4. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 15:44