PHP Pro Tip III: Standardvärde för nycklar i en array

När man skickar variabler till en funktion i PHP brukar man som bekant skriva likt på detta vis:

function addition($number1, $number2, $number3) {

}

Och om man vill att de variablerna ska ha ett standardvärde i funktionen:

function addition($number1 = 10, $number2 = 20, $number3 = 30) {

}

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.

function addition($numbers = array()) {
    $default = array(
        'number1'   =>  10,
        'number2'   =>  20,
        'number3'   =>  30
    );

    $numbers += $default;
}

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.