Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] if w if jak zrobić
Forum PHP.pl > Forum > Przedszkole
nowy100
Nie potrafię sam znaleźć rozwiązania jak poprawnie powinienem zrobić "if" w "if" czyli po spełnieniue pierwszego waruknu sprawdza kolejny w nim i wtedy działa - przykład poniżej:


założenie działania:
1 - sprawdza $ilosc_pol pobrana z formularza i jeśli jest tyle ile podano w formuarzu to wtedy sprawdza czy $a !== $b i jeśli nie jest rowna to wyswietla monit a jak są równe to nic nie robi.


<?php

$ilosc_pol = 10;

$a = 3;
$b = 4;
$c = 4;
$d = 4;
$e = 4;


if ($ilosc_pol == 8)
{
if ($a !== $b)
{
echo 'rower';
};
};


if ($ilosc_pol == 10)
{
if ($a !== $b)
{
echo 'rower';
};
};



wiem, że jest to niepoprawne ale nie wiem jak zrobić aby w jednym if zrobić kolejny - jakiego innego rozwiązania powinienem użyć tutaj - o czym powinienem poczytać?

dziękuję za podpowiedź.

ZaXaZ
za } skasuj sredniki..

poza tym da się twój kod skrócić:

  1. if ($ilosc_pol == 8) if ($a !== $b) echo 'rower';
  2. if ($ilosc_pol == 10) if ($a !== $b) echo 'rower';


lub jeszcze bardziej, bo robisz ten sam wynik i drugi if...

  1. if ($ilosc_pol == 8 || $ilosc_pol == 10) if ($a !== $b) echo 'rower';

kpt_lucek
  1. echo (($ilosc_pol == 8 || $ilosc_pol == 10) && ($a !== $b))?'rower':'';


smile.gif
thek
Albo jeszcze krócej. Zamiast wydzielać kolejne opcje w "lub", złącz je jako warianty w tablicy:
  1. if( in_array($ilosc_pol, array(8, 10)) && $a !== $b) { /* tu rób co chcesz */ }

nowy100
smile.gif wow, sporo tych opcji i póki co raczej tajemnicze - dzięki za wszystkie odpowiedzi, poczytam o tym i popróbuję z przykładami.

edit.

popatrzyłem i chyba nie do końca się da to aż tak skrócić bo nie opisałem dokładnie - jednak teraz widzę już tego możliwości i co robiłem źle - irytujące jest na początku nauki, że człowiek błądzi w tak prostych sprawach ...

nie da się tego aż tak skrócić jak piszecie ponieważ po pierwszym if kolejny if zawsze będzie też inny (ale zasadę zrozumiałem) tzn. będzie mniej więcej tak:



if ($ilosc_pol == 2) if ($a !== $b) echo 'rower';
if ($ilosc_pol == 3) if ($a !== $c) echo 'rower';
if ($ilosc_pol == 4) if ($a !== $d) echo 'rower';
if ($ilosc_pol == 5) if ($a !== $e) echo 'rower';



tego z tablicą jeszcze nie rozumiem ale popróbuję dla poznania.
dzięki 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.