Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Gdzie lepiej zastosować if
Forum PHP.pl > Forum > PHP
kszymon0
Witam, Chciałbym się zapytać, który z tych kodów jest lepszy i dla czego (chodzi mi tutaj o instrukcję if gdzie lepiej ją stosować)?

  1. foreach ($data["platforms"] as $platform)
  2.   {
  3.   if (count($data["platforms"]) > 1 ) {
  4.   $tplatforms .= "<span style=\'font-size: 10px; color: {$cplatforms[$platform -1]}\'> {$platforms[$platform -1]} </span>";
  5.   $splatforms = "<td style='width: 25px; height: 14px; text-align: center; font: normal normal 10px Verdana; color: #b72120; cursor: pointer;' onmouseover=\"showhint(this, '{$tplatforms}')\">+</td>";
  6.   } else {
  7.   $splatforms = "<td style='width: 25px; height: 14px; text-align: center; font: normal normal 10px Verdana; color: #{$cplatforms[$platform -1]};'>{$platforms[$platform -1]}</td>";
  8.   }
  9.   }
  1. if (Count($data["platforms"]) > 1)
  2.   foreach ($data["platforms"] as $platform)
  3.   {
  4.   $tplatforms .= "<span style=\' margin-left: 2px; font-size: 10px; color: {$cplatforms[$platform -1]}\'>{$platforms[$platform -1]}</span>";
  5.   $platformstxt = "<td style='width: 25px; height: 14px; text-align: center; font: normal normal 10px Verdana; color: #b72120; cursor: pointer;' onmouseover=\"showhint(this, '{$tplatforms}')\">+</td>";
  6.   }
  7.   else $platformstxt = "<td style=\"width: 25px; height: 14px; text-align: center; font: normal normal 10px Verdana; color: #{$cplatforms[$data["platforms"][0] -1]};\">{$platforms[$data["platforms"][0] -1]}</td>";


Zyx
Zasadniczo w tym konkretnym przypadku lepszy jest sposób drugi. Nie ma jednego, uniwersalnego wzorca, gdzie należy stawiać ify. Musisz nauczyć się myśleć i widzieć sens stojący za odpowiednimi instrukcjami. Tutaj interesuje Cię, żeby wyświetlić co innego w sytuacji, gdy mamy tylko jeden element w $data['platforms']. Dlatego masz następujące możliwości:

- Gdy mamy jeden element, wchodzenie jeszcze dodatkowo do pętli jest bez sensu.
- Gdy mamy więcej elementów, bez sensu jest sprawdzanie w kółko, czy mamy jeden element, kiedy mogliśmy to zrobić raz, a solidnie.
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.