Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: domyslne parametry funkcji
Forum PHP.pl > Forum > PHP
KaveS
bardzo dawno tu nie zagladalem, wiec najpierw sie przywitam ze wszystkimi starymi i nowymi uzytkownikami ;p
siemanko wszystkim!

ostatnio powoli przygotowywuje sie by zostac ZCE
wlasnie przegladajac jeden z kursow [od razu zaznaczam, ze nie jest najwyzszej jakosci]
natrafilem na przyklad wybierania argumentu, ktory chce sie podawac, jesli kilka jest domyslnych. troche ciezko mi to wyjasnic, wiec najlepiej to zademonstruje

instruktorka definiuje i wykonuje w nastepujacy sposob funkcje:
  1. <?php
  2. function x($a = 0, $b = 0){
  3.    return $a + $b;
  4. }
  5.  
  6. echo x($b = 5);
  7. ?>

i jako wynik ma 5

jeszcze sie nie smiejcie ;p
dla mnie i pewnie dla zdecydowanej wiekszosci z was, jest to oczywiste, ze popelnia blad, myslalc, ze to dziala poprawnie, bo jest to po prostu przypisanie wartosci 5 do $b, a pozniej zwrocenie wartosci tego wyrazenia [5] jako _pierwszego_ argumentu.

jednakze zastastanawia mnie czy wczesniej istniala taka wersja PHP, dla ktorej takie wyrazenie bylo prawdziwe
bartg
Taki mały offtop, jak dawno nie zaglądałeś jak to jest nowe konto? smile.gif
KaveS
no wydaje mi sie, ze kiedys [kilka lat temu?] mialem tutaj konto, ale nie moglem sie zalogowac, i szczerze mowiac nie pamietam czy w ogole mialem tutaj konto czy tylko obserwowalem, a jesli mialem to czy nie usunalem go lub nie zostalo usuniete ;p ale to szczegol ;]
pyro
Powracając do głównego wątku dzieje się dokładnie tak jak mówisz. Nawet jeśli istniała kiedyś wersja PHP, dla której tej kod był poprawny semantycznie to musiała to być bardzo stara wersja, której się już nie używa, więc poprostu nie warto się tym przejmować.
KaveS
dzieki pyro
tak tez bym pomyslal, gdybym nie wiedzial, ze ona pracowala na jednej z wersji php 5 i to mnie tak zaciekawilo. ciezko mi troche uwierzyc, ze ktos moglby zrobic instruktarz, pokrywajacy, co prawda dosc ogolnikowo, ale zdecydowana wiekszosc aspektow php. poki co mysle, ze to byl blad, ale bylbym mile zaskoczony, gdyby znalazl sie ktos kto by mogl potwierdzic, ze jednak ona miala racje ;]
pyro
No... przecież miała rację? Wszystko działa prawidłowo... czyż nie?
KaweS
hej to ja - twoje stare konto! zapomniales, ze sie kiedys podpisywales z _w_ w srodku zamiast _v_
starosc nie radosc ;]

a tak powazniej, pomimo, ze to instruktorka, a nie instruktor i nawet calkiem przyjemny ma glos [znalazlem jakis kurs video, gdzie opowiada bajki o php] to i tak nie ma prawa miec bledu w kursie ;p
dr_bonzo
  1. <?php
  2. echo x($b = 5);
  3. ?>

to to samo co
  1. <?php
  2. $b = 5;
  3. echo x($b);
  4. // czy tez
  5. $cokolwiek = 5;
  6. echo x($cokolwiek);
  7. ?>


w php nie wybiera sie argumentu ktory podajesz (tak jak masz to w Pythonie czy bodajze Ruby 1.9).
KaveS
to zes ameryke odkryl... bys przeczytal zanim cos napiszesz
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.