• 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
198 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,630 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 (251,210 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ź 307 wizyt
pytanie zadane 10 lutego 2022 w PHP przez Piotrek2713 Mądrala (5,320 p.)
0 głosów
1 odpowiedź 579 wizyt
0 głosów
1 odpowiedź 418 wizyt
pytanie zadane 30 listopada 2017 w PHP przez Adam Ostrogórski Obywatel (1,070 p.)

92,452 zapytań

141,262 odpowiedzi

319,079 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...