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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
É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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
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.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!