SOLVIUM

Allgemein

[PHP] array_flatten()

Freitag, 7. Dezember 2007 - 16:56 Uhr

Wir haben vor einem guten Jahr in Info 1 mal flatten() in tScheme gecodet – und hier ist nun das PHP-Äquivalent. Erwartet ein Array, gibt ein Array zurück.

Funktion:


<?php
    
    function array_flatten $array ) {
        $result = array ();
        foreach ($array as $element) {

            if (is_array ($element)) {
                $result array_merge($resultarray_flatten($element));

            } else {
                array_push($result$element);
            }
        }
        return $result;
    } 

?>

Verwendung:


<?php
    
    $a = array ( 01, array ( 23, array ( ) ), );    
    print_r($a);
    
    $f array_flatten ($a);    
    print_r($f);

?>

Ausgabe:

Array
(
    [0] => 0
    [1] => 1
    [2] => Array
    (
        [0] => 2
        [1] => 3
        [2] => Array
        (
             [0] => 4
        )

    )

    [3] => 5
)
Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
)

Flattr ist ein Micro-Payment-Dienst für Web-Inhalte.
Mehr zu Flattr findest Du im Beitrag Was ist Flattr?


, | Kommentar schreiben | Trackback einrichten

Eine Reaktion zu “[PHP] array_flatten()”

» Einen Kommentar schreiben

  1. Rufus

    Kompakt und übersichtlich. Allerdings sind das Erzeugen eines neuen Result-Arrays bei jedem Aufruf der Funktion, sowie array_push und array_merge an der Stelle kostspielig. Performanter ist diese Variante:

    function array_flatten2(array $array, array &$result = array()) {
        foreach ($array as $element) {
            if (is_array($element)) {
                array_flatten2($element, $result);
            } else {
                $result[] = $element;
            }
        }
        return $result;
    }

Einen Kommentar schreiben

Blog Blogs Code DJK Dyckburg Ehrensenf Einkaufen EM 2008 Essen Film Firefox Fotos Fussball Games Gewinnspiel Google Gutenachtgeschichten Handy ich Katzen Kreta Lebensweisheiten Lotto Musik Münster Münster Poker Politik Programmierung real Rechner SEO Studium Stöckchen The Killers Trash TV Twitter unblogbar Uni Video Web Weihnachten Werbung Wirtschaft Wordpress

© 2006-2010 Solvium.de (Jan Papenbrock) - Impressum - Kontakt aufnehmen

» Blog powered by Wordpress. Silk icons von FamFamFam.