• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przykład funkcji w PHP - czy jest konieczny warunek if?

Object Storage Arubacloud
+1 głos
202 wizyt
pytanie zadane 7 września 2020 w PHP przez vingilot85 Obywatel (1,150 p.)

Mam takie zadanie:

<?php
function calcStatsYears ($start, $end, $print=true)
{
    $days=($end-$start)*365;// koniec MINUS start * 365
    $hours=$days*24;
    $mins=$hours*60;
    $secs=$mins*60;
    
    if($print==true)
    {
        print "Od początku roku $start do końca roku $end jest:\n";//tu jest print, dzieki czemu później zmienne $sec1 i $sec2 drukują wyniki
        print "$days dni, $hours godzin, $mins minut i $secs sekund!\n";
    }
    return $secs;
}

$sec1=calcStatsYears(1901, 2000);//XX wiek
echo PHP_EOL;
$sec2=calcStatsYears(2001, 2020);//XXI wiek
echo PHP_EOL;

print "Razem sekund: ".($sec1+$sec2);
?>

Czy może wyjaśnić mi, po co autor ćwiczenia wstawił warunek if($print==true) ?
Sprawdzałem, i bangla i bez niego.

Z góry dziękuję za wyjaśnienie

3 odpowiedzi

+1 głos
odpowiedź 7 września 2020 przez Stami Gaduła (3,790 p.)
Jezeli do funkcji nie podasz wartości $print przyjmie ona domyślnie true, jeżeli byś podał ten argument możesz zastosować false - wtedy if się nie wykona.
komentarz 7 września 2020 przez vingilot85 Obywatel (1,150 p.)
Ok, dzięki. Dałem if==0 i zrozumiałem
+1 głos
odpowiedź 7 września 2020 przez Ehlert Ekspert (212,670 p.)

Będzie działać, bo masz domyślną wartość argumentu $print ustawioną na true, dlatego warunek będzie się wykonywać.

Warto tutaj zaznaczyć że kod który wkleiłeś to antywzorzec. Tego typu parametrów sterujących nie powinno się używać. Wyświetlanie dobrze oddelegować do innej funkcji.

autor ćwiczenia

Polecam zmienić źródła wiedzy wink

komentarz 7 września 2020 przez vingilot85 Obywatel (1,150 p.)
Rozumiem, dzięki!

Akurat to ćwiczenie ma własnie za zadanie naukę, aby funkcja coś zwróciła.
Korzystanie ze zmiennych oraz ustalanie co mają obliczyć, było już wcześniej;)

O ile dobrze zrozumiałem sugestię
0 głosów
odpowiedź 8 września 2020 przez VBService Ekspert (252,740 p.)

Zobaczysz różnicę jak wywołasz funkcję: wink

$sec1=calcStatsYears(1901, 2000);
$sec1=calcStatsYears(1901, 2000, false);

tego if-a można zapisać tak w php-ie:

if($print)
{
    ...
}
  

 

Podobne pytania

+1 głos
1 odpowiedź 328 wizyt
pytanie zadane 10 lutego 2022 w PHP przez Piotrek2713 Mądrala (5,340 p.)
0 głosów
1 odpowiedź 586 wizyt
0 głosów
1 odpowiedź 421 wizyt
pytanie zadane 30 listopada 2017 w PHP przez Adam Ostrogórski Obywatel (1,070 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...