Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem w konstrunkcji warunkowej
Forum PHP.pl > Forum > Przedszkole
marcim
Witam!
Mam problem z instrukcją, dla zobrazowania mamkod:
  1. <?php
  2.     $ciag = 'xxxxxh';
  3.     $ciag2 = 'yyyyyyb';
  4.     if ( ($ciag != 'xxxxx')&&($ciag2 != 'yyyyyy') )
  5.     {
  6.     echo "zzzzz!";
  7.     exit;
  8.     }
  9. ?>

Wszystko ok, pokazuje zzzz!. Ale już jak jest:
  1. <?php
  2.     $ciag = 'xxxxxh';
  3.     $ciag2 = 'yyyyyy';
  4.     if ( ($ciag != 'xxxxx')&&($ciag2 != 'yyyyyy') )
  5.     {
  6.     echo "zzzzz!";
  7.     exit;
  8.     }
  9. ?>

To już nie wyświetli zzzzz!, a zmieniłem tylko wartość zmiennej $ciag2, na poprawny, i teraz
  1. <?php
  2. ($ciag2 != 'yyyyyy')
  3. ?>

Przyjmuje wartość false, i tylko jeden warunek jest spełniony, a instrukcja się nie wykonuje. Co jest nie tak?
czachor
Nie wiem, czy nie przekombinowałeś z nawiasami.
  1. <?php
  2. if ($ciag != 'xxxxx' && $ciag2 != 'yyyyyy')
  3. ?>
.
pyro
Cytat(czachor @ 24.10.2008, 19:31:14 ) *
Nie wiem, czy nie przekombinowałeś z nawiasami.
  1. <?php
  2. if ($ciag != 'xxxxx' && $ciag2 != 'yyyyyy')
  3. ?>
.


bzdury, wszystkie warunki sa spelnione prawidlowo

$ciag2 = 'yyyyyy';
$ciag2 != 'yyyyyy'

czyli jesli ciag NIE ROWNA SIE yyyyyy to zwroci true, ale rowna sie wiec zwraca false
Spawnm
instrukcja się wykonuje tylko gdy oda warunki sa spełnione w 2 przypadku 2 warunek nie jest spełniony więc nie dostajesz wiadomości .
Marr
Cytat(marcim @ 24.10.2008, 19:23:45 ) *
Wszystko ok, pokazuje zzzz!. Ale już jak jest:
  1. <?php
  2. $ciag = 'xxxxxh';
  3.     $ciag2 = 'yyyyyy';
  4.     if ( ($ciag != 'xxxxx')&&($ciag2 != 'yyyyyy') )
  5.     {
  6.     echo &#092;"zzzzz!\";
  7.     exit;
  8.     }
  9. ?>

To już nie wyświetli zzzzz!, a zmieniłem tylko wartość zmiennej $ciag2, na poprawny, i teraz
  1. <?php
  2. ($ciag2 != 'yyyyyy')
  3. ?>

Przyjmuje wartość false, i tylko jeden warunek jest spełniony, a instrukcja się nie wykonuje. Co jest nie tak?


jak ma Ci pokazać zzzzzz! skoro nie masz obu warunków spełnionych? && oznacza AND czyli jak oba warunki są spełnione (w Twoim przypadku $ciag różny od xxxxx oraz $ciag2 różny od yyyyyy) to instrukcje się wykonają. Przed ifem deklarujesz $ciag = 'xxxxxh';
$ciag2 = 'yyyyyy'; a więc od razu widać że $ciąg2 jest równy yyyyyy więc tylko jeden warunek w ifie jest spełniony a zatem instrukcje się nie mogą wykonać. kumasz?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.