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
)
GD Star Rating
a WordPress rating system

, | 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 Einkaufen EM 2008 Essen Film Firefox Fotos Fussball Games Geburtstag Gewinnspiel Google Gutenachtgeschichten Handy ich Katzen Kreta Lebensweisheiten Musik Münster Münster Poker Politik Programmierung real Rechner Schokolade SEO Shop Studium The Killers Trash TV Twitter unblogbar Uni Video Web Weihnachten Werbung Wirtschaft Wordpress

© 2006-2012 Solvium.de - von und mit Jan Papenbrock - Impressum - Kontakt aufnehmen

» Blog powered by Wordpress. Silk icons von FamFamFam.