Array ausgeben

EM-Autotechnik

Erfahrenes Mitglied
Hallo,

habe Probleme beim Ausgeben von Arrays.

PHP:
foreach($array AS $key => $value)
  {
        $data.= $value;
  }

alles kein Problem...
Aber was ist, wenn mein $array[ ] wiederum ein Array ist (mehrdimensional).

PHP:
foreach($array AS $key => $value)
  {
      //wenn kein Array
      if(!is_array($array))
      {
        $data.= $value;
      }
      else
      {
         foreach($array AS $key => $value)
         {
             $data.= $value;
         }
      }
  }

eigentlich auch kein Problem.
Aber was ist wenn dieses nun wieder ein Array ist?

Also ich bin mir sicher da gibt es einen Befehl,
sobald das auszugebende ein array ist, tiefer in das array zu gehen und zu überprüfen.

Komme aber leider nicht zurecht.
Wäre Euch dankbar für eure Hilfe!

MfG Sebastian
 
Einen Befehl dafür wirst du meiner Meinung nach nicht finden, aber über eine rekursive Funktion ist das sehr schön zu lösen.
PHP:
function outputArray($array){
  foreach($array as $value){
    if(!is_array($value) {
      $data .= $value;
    }
    elseif(is_array($value) { // Nehme hier kein einfaches else, da es ja noch was anderes sein könnte.
      outputArray($value);
    }
  }
}
Je nach Anzahl der Dimension und Größe des Arrays musst du aber mit nicht unerheblichen Rechenzeiten rechnen, die evtl. sogar einen Timeout hervorrufen können.
 
Danke dir!

Nein, die Arrays sind nicht besonderst gross.
ich laufe nur über mehrere Scripte und wollte das wegen der Verständlichkeit mehrdimensional machen.

Grüsse
 
Oder wir überlassen die Drecksarbeit den PHP-Entwicklern und nutzen [phpf]print_r[/phpf]:
Code:
<pre>
<?php
print_r($array);
?>
</pre>

Wird etwas in der Art zurueckliefern:
Code:
Array
(
    [a] => Ein
    [b] => kleines
    [ c] => Array
        (
            [0] => mit
            [1] => mehreren
            [2] => Dimensionen
        )
)

Wieso will der Mensch das Rad immer wieder neu erfinden? ;)
 
Ja kann mit print_r(); nicht viel anfangen.

Trotzdem Danke!

will damit ein echo - string für Flash erzeugen.

also:

{
$data .= "&".$key."=".$value."&";
}
echo $data;

Trotzdem Danke für Eure Hilfe! Klappt alles wunderbar ;)
 
hmmm... Sry keine Ahnung... wie muss denn der Syntax lauten?

so geht das leider nicht:
PHP:
print_r($data['flash'] AS $key => $value)
  {
    $output.= "&".$key."=".$value."&";
    return = true;
  }

Danke für die Hilfe!
 
Zurück