![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 315 Pomógł: 1 Dołączył: 6.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam, znaczy miałem banalny problem ale holernie mnie frustrował(godzina siedzenia) tego pięknego wieczoru. a więc czy ktoś może mi powiedzieć dlaczegow takiej formie:[php:1:2736b4199b]<?php
if(!($ile_news==0 || $ile2==5)) ?>[/php:1:2736b4199b] wyrażenie działa poprawnie natomiast w:[php:1:2736b4199b]<?php if($ile_news!=0 || $ile2!=5) ?>[/php:1:2736b4199b] wogóle nie działa a oddzielnie:[php:1:2736b4199b]<?php if($ile_news!=0) if($ile2!=5) ?>[/php:1:2736b4199b] znowu działa Nie chodzi tu o brak zmiennych lub brak globali, ani innych prostych potyczek programistów:) Dlaczego? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Co to znaczy "nie działa"
![]() [php:1:1ebabd4c61]<?php if($ile_news!=0 || $ile2!=5) ?>[/php:1:1ebabd4c61] Nie podałeś dla jakich wartości więc: a) dla $ile_news=3 i $ile2=7 pierwsze wyrażenie zwróci true, drugie true, wiec warunek jest spełniony ![]() pierwsze false, drugie true, warunek zwraca false c) $ile_news=0 i $ile2=5 pierwsze false, drugie false, warunek zwraca false Mam wątpliwości co do ![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Cytat [php:1:226ef565ab]<?php
if(!($ile_news==0 || $ile2==5)) ?>[/php:1:226ef565ab] wyrażenie działa poprawnie natomiast w:[php:1:226ef565ab]<?php if($ile_news!=0 || $ile2!=5) ?>[/php:1:226ef565ab] Rozumiem, ze w drugim przypadku chciales osiagnac taka sama wartosc logiczna co w piewszym? Wiec klaniaja sie prawa de Morgana ![]() ~(x || y) = ~x && ~y |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
A słyszałeś na logice matematycznej (za moich czasów to było w pierwszej klasie liceum, teraz jak są gimnazja to nie wiem kiedy tego uczą) o takim czymś jak prawa de Morgana?
Negacja alternatywy (spójnik ||) jest koniunkcją (spójnik &&) negacji. Czyli taki warunek: [php:1:b2c99226e6]<?php !($ile_news==0 || $ile2==5) ?>[/php:1:b2c99226e6] jest równoważny takiemu: [php:1:b2c99226e6]<?php $ile_news!=0 && $ile2!=5 ?>[/php:1:b2c99226e6] Update: Fido, szybki jesteś ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 315 Pomógł: 1 Dołączył: 6.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Co jak co ale w to:
Cytat Wiec klaniaja sie prawa de Morgana to uwierzyć nie moge. a co do wartości to
![]() ~(x || y) = ~x && ~y $ile2 może być empty albo 5 $ile_news=każda liczba. Jakkolwiek dzięki |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Co jak co ale w to:
Cytat Wiec klaniaja sie prawa de Morgana to uwierzyć nie moge.![]() ~(x || y) = ~x && ~y Przeprowadź sobie dowód. Sprawdź dla każdej z 4 kombinacji x y (true+true, true+false, false+true, false+false) lewą stronę równania i prawą i zobacz. Napewno się zgodzi. ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 315 Pomógł: 1 Dołączył: 6.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Widze że moja logika szfankuje wieczorami(zresztą przez cały dzień) To dzięki!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 17:25 |