PHP Pro Tip III: Standardvärde för nycklar i en array
Marcus Olsson,
När man skickar variabler till en funktion i PHP brukar man som bekant skriva likt på detta vis:
1function addition($number1, $number2, $number3) {23}
1function addition($number1, $number2, $number3) {23}
Och om man vill att de variablerna ska ha ett standardvärde i funktionen:
1function addition($number1 = 10, $number2 = 20, $number3 = 30) {23}
1function addition($number1 = 10, $number2 = 20, $number3 = 30) {23}
Dock så blir detta väldigt plottrigt efter ett tag, men det finns ett väldigt effektivt sätt att använda arrayer för samma syfte.
1function addition($numbers = array()) {2 $default = array(3 'number1' => 10,4 'number2' => 20,5 'number3' => 306 );78 $numbers += $default;9}
1function addition($numbers = array()) {2 $default = array(3 'number1' => 10,4 'number2' => 20,5 'number3' => 306 );78 $numbers += $default;9}
Nu skickar vi $numbers
som en array istället. Och i och med$numbers += $default;
slår vi ihop de två arrayerna – och de nycklarna som saknar värde får ett från $default
. Väldigt användbart i de fallen man skriver metoder som ska kunna ta emot många variabler, men vill samtidigt ha möjligheten att använda standardvärden (defaults). Snyggt, bra och enkelt.