Kezdőoldal » Számítástechnika » Weblapkészítés » PHP-ban, hogy lehet a funkciób...

PHP-ban, hogy lehet a funkcióban kihagyni paramétereket?

Figyelt kérdés

Pl. van egy funkció

function teszt($a = 1, $b = 2){

echo 'a = '.$a.' b = '.$b;

}


Hogy lehet az első paraméterét kihagyni a funkciónak az $a változót és csak a $b-re megadni értéket?

Egyszer mintha hasonlót láttam volna valahol, hogy így oldják meg:

teszt($b = 123);

de ez ugyanúgy az első paraméter értékét állítja.



2019. júl. 26. 16:06
 1/5 anonim ***** válasza:
26%

teszt(123);


vagy


$b = 123;

teszt($b);

2019. júl. 26. 16:13
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
22%
#1: Te minek írkálsz ide?
2019. júl. 26. 16:22
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
100%

#1 vagyok.

Amit előbb írtam az az első paramétert állítja.


Amit szeretnél az ez:


function teszt($a = null, $b = null){


if($a === null){$a = 1;}

if($b === null){$b = 2;}


echo 'a = '.$a.' b = '.$b;


}


teszt(null, 24);


teszt(64);


A jobb megoldás, ha a paramétert amit ki szeretnél hagyni a függyvény utolsó elemének választod.

2019. júl. 26. 16:28
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
100%
Function overload
2019. júl. 26. 20:31
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
100%

Szerintem építsd fel úgy hogy objektumot esetleg(tömböt) adsz át.

És azt dolgozod fel, a programba...


function teszt($data) {

if(!isSet($data->a)) { $data->a = 1; }

if(!isSet($data->b)) { $data->b = 2; }

echo 'a = '.$data->a.' b = '.$data->b;

}


teszt((object)['b' => 3]);


print("\r\n\r\nMásik mód:\r\n");


$data = new class{};

$data->b = 4;


teszt($data);



pl.: [link]

2019. júl. 27. 18:28
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!