• 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?

VPS Starter Arubacloud
+1 głos
270 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 (214,100 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 (255,840 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ź 426 wizyt
pytanie zadane 10 lutego 2022 w PHP przez Piotrek2713 Mądrala (5,500 p.)
0 głosów
1 odpowiedź 766 wizyt
0 głosów
1 odpowiedź 457 wizyt
pytanie zadane 30 listopada 2017 w PHP przez Adam Ostrogórski Obywatel (1,070 p.)

93,008 zapytań

141,975 odpowiedzi

321,255 komentarzy

62,350 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...