6.7 Mehr als einen Wert zurückgeben

Problem

Sie möchten aus einer Funktion mehr als nur einen Wert zurückgeben.

Lösung

Geben Sie ein Array zurück und trennen Sie dessen Elemente mit list( ):

function averages($stats) {
    ...
    return array($median, $mean, $mode);
}

list($median, $mean, $mode) = averages($stats);

Diskussion

Aus Performance-Sicht ist dies keine besonders gute Idee. Es führt zu einer zusätzlichen Belastung, wenn PHP gezwungen wird, ein Array anzulegen und gleich wieder wegzuwerfen. Und dies geschieht in dem folgenden Beispiel:

function time_parts($time) {
    return explode(':', $time);
}

list($hour, $minute, $second) = time_parts('12:34:56');

Sie übergeben einen Zeit-String, wie man ihn auf einer Digitaluhr sehen kann, und rufen explode( ) auf, ...

Get PHP 5 Kochbuch 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.