Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dziwne IF'y
Forum PHP.pl > Forum > PHP
T-rex
mam warunek
  1. <?php
  2.  
  3. if ( $_GET[page] !== '$ile' )
  4.  
  5. if ( $_GET[page] !== '3' )
  6.  
  7. ?>

i w pierwszym przypadku nie dziala, chociaz $ile wynosi 3, w drugim natomisat dziala, jak powinno prubowalem juz rozne ustawienia z cudzyslowiami, i apostrofami i nic sad.gif
kszychu
  1. <?php
  2. if($_GET['page'] != $ile)
  3. ?>
Kinool
  1. <?php
  2.  
  3.  
  4. if ( $_GET['page'] != $ile ) {
  5. // ...
  6. }
  7.  
  8. if ( $_GET['page'] != 3 ) {
  9. // ...
  10. }
  11.  
  12.  
  13. ?>
Chewolf
Każdy podał poprany kod ale nie wytłumaczył ... czemu jest źle... Sprawa jest prosta wszystko co znajdzie sie w pojedyńczych apostrofach jest traktowane jako tekst ... dlatego jestli zrobisz np. tak : '$zmienna' '.' etc. To parser php potraktuje to jako zwykły text. Poprostu usuń cudzysłowy i będzie działać :-)
A Kinool bezsensu usunal je przy drugim warunku.
kubatron
Cytat(Chewolf @ 2005-01-25 13:45:20)
....
A Kinool bezsensu usunal je przy drugim warunku.

Bez sensu nie usunał, bo moim zdaniem zrobił dobrze, teraz zostanie porównane ze intem a wcześniej autor porównywał ze stringiem 3 a przy różnych sytuacjach różnie to działa smile.gif
T-rex
i dalej nie dziala, i jak usune, i jak dma $_GET['page']

$ile pochodzi z funkcji ceil, i potem ja zaokraglam do gory.

EDIT:
moze cos nam wielki guru scanner powie winksmiley.jpg
Kinool
zwroc uwage na
Cytat
!=
tam ma byc jeden znak rownosci a nie dwa! smile.gif
T-rex
o prosze smile.gif dziala, ale zawsze dawalem !== i tez hulalo
kszychu
== lub != sprawdza tylko wartości argumentów, konwertując sobie, jeśli trzeba obie do tego samego typu.
=== lub !== poza wartością porównuje również typy argumentów.

Poza tym, wyżej wyraźnie napisałem Ci != a nie !==.
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.