4.13 Elemente finden, die einer bestimmten Prüfung standhalten

Problem

Sie möchten Einträge in einem Array lokalisieren, die bestimmten Anforderungen genügen.

Lösung

Verwenden Sie eine foreach-Schleife:

$filme = array(...);

foreach ($filme as $film) {
    if ($film['verkaufszahl'] < 5000000) { $flops[] = $film; }
}

Oder array_filter():

$filme = array(...);

function flops($film) {
    return ($film['verkaufszahl'] < 5000000) ? 1 : 0;
}

$flops = array_filter($filme, 'flops');

Diskussion

Die foreach-Schleifen sind einfach; lassen Sie die Daten abrollen und fügen Sie alle Ihren Kriterien entsprechenden Elemente in das Rückgabe-Array ein.

Wenn Sie nur das erste passende Element benötigen, verlassen Sie die Schleife mit break:

foreach ($filme as $film) { if ($film['verkaufszahl'] ...

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.