4.9 Ein Array mit Kommata ausgeben

Problem

Sie möchten ein Array so ausgeben, dass die Elemente durch Kommata getrennt sind, wenn es mehr als zwei Elemente sind, vor dem letzten Element aber ein »und« steht.

Lösung

Verwenden Sie die in Listing 4.1 dargestellte Funktion pc_array_to_comma_string(), die einen korrekten String liefert.

function pc_array_to_comma_string($array) {

    switch (count($array)) {
    case 0:
        return '';

    case 1:
        return reset($array);

    case 2:
        return join(' und ', $array);

    default:
        $last = array_pop($array);
        return join(', ', $array) . " und $last";
    }
}

Listing 4.1 pc_array_to_comma_string()

Diskussion

Wenn Sie eine Liste von Dingen ausgeben wollen, sollte dies in einer grammatikalisch korrekten Form geschehen. Es sieht unschön aus, wenn ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.