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

Prawidłowe definiowanie funkcji

0 głosów
115 wizyt
pytanie zadane 17 sierpnia 2017 w PHP przez Krzysztof Trybuś Mądrala (5,290 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 (205,590 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 81 wizyt
pytanie zadane 24 czerwca 2020 w SQL, bazy danych przez danielch Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 1,002 wizyt
pytanie zadane 12 października 2017 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 191 wizyt

85,873 zapytań

134,644 odpowiedzi

298,914 komentarzy

56,740 pasjonatów

Advent of Code 2021

Top 15 użytkowników

  1. 926p. - rucin93
  2. 925p. - Whistleroosh
  3. 912p. - nidomika
  4. 876p. - adrian17
  5. 867p. - Michal Drewniak
  6. 866p. - Mikbac
  7. 863p. - Mateusz Bogdan
  8. 859p. - CC PL
  9. 797p. - Argeento
  10. 704p. - ScriptyChris
  11. 683p. - tokox
  12. 660p. - Vinox
  13. 645p. - TheLukaszNs
  14. 642p. - s. Dorota Kowalewska
  15. 628p. - WhiskeyTaster
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...