Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]porownanie
Forum PHP.pl > Forum > Przedszkole
atomp3
Witam

chcialbym zrobic cos takiego:

Pobieram zmnienna $_GET['costam']

i teraz w zaleznosci od wyniku zmieniam inna zmienna

Nie chce zapisac tego w ten sposob

  1. <?php
  2. if (!_GET['costam']) {
  3. $tpl = 'jeden' ;
  4. } else {
  5. $tpl = $_GET['costam'];
  6. }
  7. ?>


Wiem ze mozna to zapisac inaczej np.

  1. <?php
  2. $tpl = $tpl ? 'jeden' : $_GET['costam'];
  3. ?>


ale ten zapis mi nie dziala. ktos moglby mi wytluamczyc zasade zapisu drugiego?

Dzieki
legorek
  1. <?php
  2. $tpl = (!$_GET['costam'])?'jeden':$_GET['costam'];
  3. ?>


Jeżeli wyrażenie przed pytajnikiem jest prawdziwe zwracane jest to co jest między pytajnikiem dwukropkiem. Jeśli nie, zwracane jest to co jest po dwukropku.

Aha i jeśli chcesz sprawdzić czy $_GET['costam'] zostało ustawione to prawidłowo będzie to zrobić w ten sposób:

  1. <?php
  2. $tpl = (!isset($_GET['costam']))?'jeden':$_GET['costam'];
  3. ?>


W przeciwnym wypadku otrzymasz komunikat o niezdefiniowanym indeksie.
nexis
Cytat(atomp3 @ 17.07.2008, 17:11:13 ) *
Wiem ze mozna to zapisac inaczej np.

  1. <?php
  2. $tpl = $tpl ? 'jeden' : $_GET['costam'];
  3. ?>


ale ten zapis mi nie dziala. ktos moglby mi wytluamczyc zasade zapisu drugiego?


Poniższy przykład powinien Ci pokazać zasadę działania:

  1. <?php
  2.  
  3. if ($zmienna == true) {
  4.  $wynik = 'prawda';
  5. } else {
  6.  $wynik = 'fałsz';
  7. }
  8.  
  9. $wynik = $zmienna ? 'prawda' : 'fałsz';
  10.  
  11. ?>
atomp3
banalne dzieki smile.gif
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.