[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($result, array_flatten($element));
} else {
array_push($result, $element);
}
}
return $result;
}
?>
Verwendung:
<?php
$a = array ( 0, 1, array ( 2, 3, array ( 4 ) ), 5 );
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
a WordPress rating system
Ähnliche Beiträge
- [PHP] Umlaut-Domain Darstellung von Punycode in “normale” Umlaute konvertieren 28. November 2011
- Google Chart API: Simple Encoding in PHP 19. Dezember 2009
- PHP: Einen Artikel in WordPress einfügen 9. September 2008
- HTTP/1.1 301 Moved Permanently 1. September 2007
- [PHP] Performancemessung: explode / substr / preg_match 17. September 2007

Hey, hier bloggt Jan Papenbrock. Er studiert Wirtschaftsinformatik an der Uni Münster. Nebenbei erstellt er Webseiten und interessiert sich für SEO.
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; }