Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Instrukcja elseif

środa,

Instrukcja elseif

W przypadku potrzeby warunkowego wykonania kodu przewidującego możliwych wiele wariantów doskonale może sprawdzić się instrukcja elseif. Słowo kluczowe elseif należy rozumieć jako „w przeciwnym wypadku, jeśli...”. Po wystąpieniu pierwszego warunku zwracającego prawdę pozostałe warunki są ignorowane.

<?php
  $plec = 'M';
  
  if($plec == 'M') {
	  echo 'mężczyzna';
  } elseif($plec == 'K') {
      echo 'kobieta';
  } else {
	  echo 'błędne dane';
  }
  
  // wyświetlony napis: mężczyzna
?>

W prezentowanym przypadku stosowanie słowa kluczowego elseif zamiennie z wyrażeniem „else if” nie zmienia efektu działania skryptu, jednak różni się sposobem wykonania. Aby przedstawić różnicę, w komentarzu zaprezentowano inaczej sformatowany kod, zagnieżdżona konstrukcja if-else traktowana jest jako jedna instrukcja, nawias klamrowy otworzony po pierwszym else jest zbędny i ma tylko poprawić czytelność. Choć nie wpływa to zbytnio na wydajność, lepiej jest stosować elseif. Stwierdzenie to jest zgodne z rekomendacjami zawartymi w PHP Standard Recommendation (PSR).

<?php
  $plec = 'M';
  
  if($plec == 'M') {
	  echo 'mężczyzna';
  } else if($plec == 'K') {
      echo 'kobieta';
  } else {
	  echo 'błędne dane';
  }

/*
  if($plec == 'M') {
	  echo 'mężczyzna';
  } else {
      if($plec == 'K') {
          echo 'kobieta';
      } else {
	      echo 'błędne dane';
      }
  }
*/
?>

Podobnie jak w przypadku if oraz if-else, jeśli warunkowo ma być wykonana tylko jedna instrukcja, nawiasy klamrowe są zbędne.

<?php
  $plec = 'M';
  
  if($plec == 'M') echo 'mężczyzna';
  elseif($plec == 'K') echo 'kobieta';
  else echo 'błędne dane';
?>

W kolejnym przykładzie założono, że dane będą prawidłowe. Pozwoliło to pokazać, że zarówno else, jak i elseif są opcjonalne. W przypadku prezentowanego problemu lepsze jest drugie rozwiązanie, ponieważ nie występuje w nim drugi warunek.

<?php
  $plec = 'M';

  // poprawnie składniowo
  
  if($plec == 'M') {
	  echo 'mężczyzna';
  } elseif($plec == 'K') {
      echo 'kobieta';
  }

  // lepszy sposób
  
  if($plec == 'M') {
	  echo 'mężczyzna';
  } else {
	  echo 'kobieta';
  }
?>

W jednej konstrukcji warunkowej można zamieścić wiele instrukcji elseif.

<?php
$x = 'ti';

if($x == 'tr') {
	echo 'technik reklamy';
} elseif($x == 'tm') {
	echo 'technik mechanik';
} elseif($x == 'ti') {
	echo 'technik informatyk';
} elseif($x == 'tps') {
	echo 'technik pojazdów samochodowych';
} elseif($x == 'tpm') {
	echo 'technik przetwórstwa mleczarskiego';
}
?>

Trzy miesiące temu na naszej stronie…

Artykuł: Intel Core i9

Intel Core i9

Artykuł: Święto Lotnictwa Polskiego

Święto Lotnictwa Polskiego

Artykuł: Quiz: Robert Lewandowski

Quiz: Robert Lewandowski

Artykuł: Bogumił Nowotny

Bogumił Nowotny

Artykuł: Stanisław Wyspiański

Stanisław Wyspiański

Artykuł: Polska Marynarka Wojenna w okresie Pierwszej Rzeczpospolitej

Polska Marynarka Wojenna w okresie Pierwszej Rzeczpospolitej

Artykuł: Utworzenie Marynarki Wojennej

Utworzenie Marynarki Wojennej

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły