Php fuggveny keszites?
hali olyan problemam lenne, hogy egy "avarge" fuggvenyt szeretnek letrehozni,atlag, ugye phpban nincs atlag beipitett fuggveny es nekem kell ezt deklaralnom, de itt kezdodik a gond hogy ugye van a fuggveny, de ha en nem tudom hogy hany szam lesz majd amit atlagolnom kell elore akkor higy oldjam meg a dolgot?
tetelezzuk fel van x mennyisegu adat es azt atlagolom.
alap fuggvenyt igy irnam meg hogy
function avarge($x,$y){
k=x+y
return(k/2)
}
ez az alap, de ha nem tudom elore hogy hany szamom lesz akkor honnan fogom tudni hogy mennyivel kell elosztani? :/
valahogy meg kell szamolni elotte vagy hogy?
elore is koszi a segitseget
bocsi elgepeltem, telefonrol gepelek.
esetleg a tombot count fuggvennyel megszamolom? es akkor az aray-yel osztom?
Igen, vagy ha nem akarsz tömböt akkor hagyd, hogy a function alakítsa tömbbé, és meghívhatod simán számokkal mint a példádban.
Így:
function average(... $numbers){
return array_sum($numbers) / count($numbers);
}
echo average(2,3,5,9,100);
"echo average(2,3,5,9,100)"
És itt a ki íratásánál miért Argument kell adnom neki?
egyszerűen a visszatérési értéket nem tudom kiíratni?
tehát szimplán így
echo függvényneve
és akkor kiírja az átlagot
Erre elég nehéz válaszolni, mert nem tudom hogy juthat ilyen eszedbe (nem a te hibád, de nekem rég volt már, hogy ilyeneket kérdeztem).
Talán ha visszakérdezek az segít:
Ha nem adsz neki értékeket, akkor honnan tudja, hogy minek az átlagát kéne kiszámolnia?
Három lehetőség arra az esetre:
- globálisan elérhető számoknak az átlagát számolja, ami vacak dolog és macerás
- eleve bele van írva a függvénybe, hogy CSAK 5 + 9 + 10 átlagát számolja ki, annak annyi haszna van, mintha kézzel beírnád, hogy milyen számod adjon vissza 'átlagként'.
- Ha a függvény egy osztály / objektum része, és annak adatai alapján számol átlagot, akkor az viszont teljesen jó megoldás, de erősen gyanítom, hogy itt még közel sem tartasz.
De nem nagyon értem a dolgoz, ha a FX megkapja bemenetként egy változó értékében az adott számot akkor nekem echo-ban minek kell még ezt feltüntetnem?
"function average(... $numbers)" ezt te írtad.
"echo average(2,3,5,9,100);" és ide minek kell beírnom a számokat? nem fent a függvényem megkapta azokat változókban? $numbers változóban átadtam a függvényemnek egy értéket, és azzal szeretnék én műveleteket végezni, és nem logikus számomra, hogy kiíratásnál miért kell nekem még külön beírnom a számokat?
function teszt($x){
return $x;
}
Funkció -létrehozásakor- ami neki bemenetnek van írva változó, az azt jelenti, hogy küldhetsz neki adatot amit olyan néven érsz el benne.
Az itteni példában láthatod a $x -et, tehát kap valamit amit ő $x -ként fog ismerni.
Ha ezzel azt csinálod, hogy: echo teszt("a");
akkor kiírja, hogy: a
tehát neki a $x az egy 'a' string volt, magától semmilyen érték nem volt a $x-ben, a kérdésben lévő példádban sem.
Hogy ez miért jó? Mert akárhányszor más adatokkal meghívhatod a függvényeid, úgy, hogy csak egyszer írtad meg őket, ez a lényegük, az újrafelhasználás.
A kérdésedből pedig úgy tűnt ezt már tudod, lehet kusza anyag alapján tanulsz?
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!