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

Prawidłowe definiowanie funkcji

Object Storage Arubacloud
0 głosów
154 wizyt
pytanie zadane 17 sierpnia 2017 w PHP przez Krzysztof Trybuś Mądrala (5,280 p.)

Cześć wszystkim! Uczę się definiowania funkcji w PHP, ale nie wiem czy to dobrze rozumiem... Zmajstrowałem taką funkcję:

$parameterFirstName = 'Krzysiek';
$parameterLastName = 'Trybuś';

    function Person( $name, $lastname )
    {
        $person = "$name  $lastname";
        return $person;
    }

    echo Person($parameterFirstName, $parameterLastName);

Podobno podczas tworzenia funkcji nie muszę określać argumentów, więc początek mógłby wyglądać tak: 

$parameterFirstName = 'Krzysiek';
$parameterLastName = 'Trybuś';

    function Person()
    {
        $person = "$name  $lastname";
        return $person;
    }

    echo Person($parameterFirstName, $parameterLastName);

Ale czy wewnątrz funkcji zawsze przy nadaniu jej funkcjonalności muszę tworzyć tymczasową zmienną? Nie zrozumiałem tworzenia funkcji dokładnie, a bardzo mi na tym zależy, dlatego proszę o pomoc :)

Przykład z kursu miałem taki:

$basicPrice = 200;
$discountRate = 0.1;

    function calculateDiscount( $price, $discount )
    {
        $discountedPrice = $price - ( $price * $discount );
        return $discountedPrice;
    }

    echo calculateDiscount( $basicPrice, $discountRate );

Tutaj jeszcze wymyśliłem takie coś, dla przykładu:

$newuser = 'Użytkownik';
function welcomeInfo( $user )
{
    $welcome_newUser = "Witaj $user";
    return $welcome_newUser;
}

    echo welcomeInfo($newuser);

 

Mógłby mi ktoś to w prosty sposób wytłumaczyć? Funkcja jest po to, by zawrzeć w niej jakąś funkcjonalność i móc ją szybko wywołać w potrzebnym miejscu - inaczej mówiąc, żeby nie pisać 100 razy tego samego kodu np. zegara. Ale nie wiem, czy ja dobrze zrozumiałem sposób tworzenia funkcji? Za każdym razem funkcje tworzy się w taki sposób?

Wiem, iż ten wpis jest chaotyczny, ale ja się w tworzeniu funkcji pogubiłem.

Jeszcze raz bardzo proszę o proste wyjaśnienie tworzenia funkcji - z argumentami i bez argumentów.

1 odpowiedź

0 głosów
odpowiedź 18 sierpnia 2017 przez Iamhexi Obywatel (1,330 p.)
edycja 18 sierpnia 2017 przez Iamhexi

Witaj!

Zacznę od tego, że zauważyłem mały błąd w twoim wywodzie. Napisałeś, że:

Podobno podczas tworzenia funkcji nie muszę określać argumentów, więc początek mógłby wyglądać tak...

Nie to nieprawda. Definiując funkcje nie musisz określać typów argumentów (tak jak w całym PHP, co oczywiście możesz zrobić), ale musisz podać wszystkie argumenty. 

Kolejna sprawa: 

Ale czy wewnątrz funkcji zawsze przy nadaniu jej funkcjonalności muszę tworzyć tymczasową zmienną?

Tworząc funkcję, możesz ustanowić zmienne lokalne oraz argumenty formalne. Nie jest to wcale konieczna operacja. W zależności od potrzeb - tzn. tego, co funkcja będzie miała za zadanie. Istnieją przecież funkcje bezargumentowe.

Mógłby mi ktoś to w prosty sposób wytłumaczyć? Funkcja jest po to, by zawrzeć w niej jakąś funkcjonalność i móc ją szybko wywołać w potrzebnym miejscu - inaczej mówiąc, żeby nie pisać 100 razy tego samego kodu np. zegara. 

Tak, funkcje służą do ponownego wykorzystania kodu. 

Jeżeli masz jakieś pytania, zastrzeżenia - pisz śmiało. Pozdrawiam!

1
komentarz 18 sierpnia 2017 przez Ehlert Ekspert (212,670 p.)

Mając php w wersji 7.0 i wyżej warto deklarować typy argumentów, jak i typ danych jakie zwraca funkcja.

Tak, funkcje służą do ponownego wykorzystania kodu, czyli tzw. rekurencji.

Tutaj to proponuję doczytać, bo nieźle poleciałeś. 

komentarz 18 sierpnia 2017 przez Iamhexi Obywatel (1,330 p.)
Faktycznie, pomyliłem. Już poprawiłem, dzięki za sprostowanie.

Podobne pytania

0 głosów
2 odpowiedzi 139 wizyt
pytanie zadane 24 czerwca 2020 w SQL, bazy danych przez danielch Użytkownik (660 p.)
0 głosów
2 odpowiedzi 1,736 wizyt
pytanie zadane 12 października 2017 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 411 wizyt

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

61,940 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!

...