Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Comparison Ternary - różnice w zastosowaniu
nyfko
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.07.2014

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


Cześć. Chcę szybko do zmiennej przypisać jedną zmienną, używając domyślnej wartości jeżeli ta zmienna jest pusta więc znalazłem coś takiego:

  1. $owoc = $_GET['owoc'] ?: 'banan';


Jeżeli $_GET będzie pusty, to do zmiennej powinno być przypisane 'banan'.
Jednak niektórzy robią to też tak:

  1. $owoc = $_GET['owoc'] ? $_GET['owoc'] : 'banan';



Praktyczny przykład jaki znalazłem, to sprawdzenie IP mając chmurę Cloudflare na stronie. CF podaje takie rozwiązanie:
  1. $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"] ? $_SERVER["HTTP_CF_CONNECTING_IP"] : $_SERVER["REMOTE_ADDR"];


Dlaczego nie może być krócej?
  1. $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"] ?: $_SERVER["REMOTE_ADDR"];


Co za różnica? Czy któreś rozwiązanie jest "bardziej poprawne" od drugiego? Jeszcze inni wplątują w to isset() ale to już pomijam.

Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 09:07