6.8 Bestimmte Rückgabewerte überspringen

Problem

Eine Funktion liefert mehrere Werte, aber Sie interessieren sich nur für einen Teil davon.

Lösung

Lassen Sie Variablen innerhalb von list() aus:

// Nur die Minuten sind von Interesse.
function time_parts($time) {
    return explode(':', $time);
}

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

Diskussion

Auch wenn es wie ein Fehler aussieht: Der Code zu dieser Lösung ist gültiges PHP. So etwas sieht man häufig, wenn ein Programmierer mit each() ein Array durchläuft und dabei nur die Werte des Arrays betrachten will:

while (list(,$value) = each($array)) {
    process($value);
}

Mithilfe von foreach kann dies jedoch klarer formuliert werden:

foreach ($array as $value) {
    process($value);
}

Um die Verwirrung zu verringern, ...

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.