Kezdőoldal » Számítástechnika » Programozás » Elmagyarázná nekem hogy...

Elmagyarázná nekem hogy működik a funkció paraméter megadása?

Figyelt kérdés

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.



2016. márc. 4. 11:51
 1/7 anonim ***** válasza:

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.

2016. márc. 4. 12:36
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
sajnos ezzel még mindig nem értem hogy pl countnál miért $sorrendet kell beirni, nem pedig $xet. :/
2016. márc. 4. 13:00
 3/7 anonim ***** válasza:

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.

2016. márc. 4. 13:25
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
A függvény deklarálásakor azokat a lokális változó(ka)t hozod létre, amelyek a függvényhíváskor felveszik a paraméterként átadott érték(ek)et. Nem magát a változót adod át a függvénynek, hanem annak az értékét.
2016. márc. 4. 13:49
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

É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.

2016. márc. 4. 14:42
Hasznos számodra ez a válasz?
 6/7 uno20001 ***** válasza:

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.

2016. márc. 4. 21:15
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
Ne hívjuk a functiont funkciónak kérve könyörgök... :-(
2016. márc. 5. 20:35
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!