![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio w niektórych skryptach php widzę zjawisko 'odwrócenia' przy sprawdzaniu w IF:
zamiast
Czy to ma jakieś znaczenie w wydajności, dlaczego jest taki zapis? -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Każdy pisze jak mu wygodnie.
![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
yhym, myślałem że to jest tak jak z pisaniem w pętli "++$i" zamiast "$i++" coś w tym stylu.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mogę być w błędzie, ale gdzieś czytałem, nawet już nie pamiętam gdzie, że operacje logiczne (suma, różnica, iloczyn, iloraz itp) są wykonywane od prawej strony. Nie wiem czy tak jest na prawdę, może nawet to błędnie zapamiętałem, no ale coś takiego mi świta.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
W działaniu różnicy nie ma. Chodzi o zwykłe bezpieczeństwo przed ludzką głupotą. Przykład
if ($zm == null) teraz jakich bystrzacha sie jąrbnał i zrobił if ($zm = null) I po IF $zm ma wartość null Teraz na odwrót if (null == $zm) I znowu się mylimy: if (null = $zm) Tu znowu mamy przypisanie, ale $zm po IF będzie miałą swoją wartość a nie jak poprzednio wartość null -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Fifi... Nie sprawdzałem nigdy, ale może chodzić o kolejność dynamicznej konwersji. W porównaniu bowiem coś zawsze jako pierwsze będzie musiało być konwertowane do zgodnego typu. Jeśli lewa strona na początku jest domyślna, to prawa strona porównania będzie castowana do typu własciwego dla lewej strony. W takim wypadku "odwrócony" if dla przykładu z pierwszego posta będzie raz konwertował $_SERVER['REQUEST_METHOD'] do stringa by porównać do POST, a za drugim razem do bool by sprawdzić z false.
"Typowa" kolejność wymuszała by 'POST' było stringiem, ale już false było by konwertowane zapewne do pustego stringa lub 'false' zależnie od tego co by mogło być w tym elemencie tablicy SERVER ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
zThek, jego wyjaśnienie jest bardziej sensowne bo nie ogranicza się tylko do PHP, w kompilowanych językach też można tak zrobić, a dynamiczne typy to zło!! Za bardzo się przyzwyczaiłem do C++ i C# i teraz mi to strasznie w PHP przeszkadza, tak jak kiedyś mi się podobało.
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:46 |