Elmagyarázná nekem hogy működik a funkció paraméter megadása?
Sajnos kezdő vagyok még és nem igazán értem a miértjét. Próbáltam utánajárni de rövidtávon nem találtam olyat amit használni tudnék.
szóval:
function novekvo($sorrend){
for($i=0;$i<count($sorrend);$i++){
echo $sorrend[$i]."<br />";
}
}
$x=array(1,3,4,5);
sort($x);
novekvo($x);
ugye ez kilistázza növekvő sorrendben a tömben lévő számokat. Amit nem értek hogy a countnál paraméterként miért $sorrend van megadva és nem pedig $x? hiszen pl sort beépitett függvénynél az $x van megadva. Azt se értem hogy honnan tudja a forditó hogy a for ciklussal mit kell csinálnia, hiszen az array késöbb szerepel.
Ha lehet akkor picit szájbarágósan magyarázzátok el. Kezdő vagyok még benne. html css után a phpval kezdtem.
Egy paramétert átadsz a function-nek, amit ő használni tud a saját blokkján belül. Az lesz a paraméter neve, amint megadsz a paraméterlistában($sorrend). Lehetne $kiscica is.
A function egy különálló blokk, ami újrahasználhatóvá teszi az adott blokkot. Így többször is tudod használni kódismétlés nélkül. Nem fut le, hanem meg kell hívni.
Be lehet írni paraméterként ezt is, meg azt is.
Azt a függvényed tartalma és a paraméterének definíciója határozza meg, hogy éppen melyik fog neki kelleni.
Ha a tömböd globálisan van deklarálva, akkor nem kell a függvényed paraméteréül megadnod a tömböt, mert az 'rálát' a tömbre, képes vele műveletet végezni.
Értem már, hogy mit kérdezel.
A SORT az egy beépített függvény. Annak van egy fixen meghatározott paramétere. Ez speciel az a tömb, amelyen a sortot végrehajtja a függvény.
Más beépített, vagy library-ban definiált függvénynél meg valami más lehet a paraméter. Attól függően, hogy a függvény mit csinál.
Ha viszont te definiálsz egy függvényt, akkor te határozhatod meg a függvényed paraméterét. Ami mondjuk lehet egy boolean tipusú változó és a függvény annak a változónak a tartalmával végez majd műveletet, vagy annak a változónak a tartalmát kiértékelve fog műveletet végezni más adatokkal.
Például ha sortolni kell, akkor egy boolean típusú változóval tudod paraméterezni a függvényedet, hogy adott halmazt növekvő, vagy csökkenő sorrendbe rendezze.
De lehet a függvényednek, vagy másénak, akár több paramétere is. Az a fontos, hogy a paraméterként átadott érték megegyezzen a definiált paraméter tipusával. Ha az mondjuk boolean tipus, akkor nem lehet string.
Nagyon pongyolán fogalmazva mondhatjuk azt is, hogy lényegében a függvény belső részére kicseréli a függvényhívást. Mindeközben a függvény leírásában szereplő paraméterek, megfelelteti azon értékeknek, amelyeket a függvényhíváskor megadtál. Tehát lényegében a függvényhíváskor megadott i. paraméter értéke „belekerül” a függvény leírásakor megadott i. nevű változóba. Pl.:
function f($a, $b, $c) {
echo '$a = ' . $a . ', $b = ' . $b . ', $c = '. $c;
}
f(1, 2, 3);
ilyenkor ugye az függvényhíváskor i. helyen megadott érték belekerül a függvény i. paraméterének nevével megegyező nevű változóba, tehát amikor a függvénybe belekerülsz, akkor $a = 1, $b = 2, $c = 3 kimenetet fogod látni, ugyanis az 1. helyen lévő érték (az 1) belekerül a függvény i. „paraméter-változójába” (a $a-ba), és így tovább.
Tehát lényegében valami ilyesmi történik:
echo "f() hívása...<br />";
f(1, 2, 3);
echo "f() vége!<br />";
abból kb. ez lesz:
echo "f() hívása...<br />";
$a = 1;
$b = 2;
$c = 3;
echo '$a = ' . $a . ', $b = ' . $b . ', $c = '. $c;
echo "f() vége!<br />";
Ez így még közel sem a teljes igazság, de remélem így már érted, hogy kb. mi a helyzet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!