• 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
268 wizyt
pytanie zadane 17 sierpnia 2017 w PHP przez Protonit Mądrala (5,300 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 dasmndnmasnd Obywatel (1,330 p.)
edycja 18 sierpnia 2017 przez dasmndnmasnd

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 (215,070 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 dasmndnmasnd Obywatel (1,330 p.)
Faktycznie, pomyliłem. Już poprawiłem, dzięki za sprostowanie.

Podobne pytania

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

93,632 zapytań

142,556 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
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 polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...