Array-Inhalt anzeigen

edit | delete

Autor: Ralf v.d.Mark

eingetragen: Montag, 10. September 2007 um 08:58 Uhr (37/2007 Kalenderwoche)

geändert: Montag, 10. September 2007 um 11:30 Uhr (37/2007 Kalenderwoche)

Keywords: cfdump Datenbank-dump

Kategorien: PHP,

Text:

Funktionen zur Anzeige von Array-Inhalten, auch wenn dort
noch weitere Arrays enthalten sind.

Quellcode:  

<?php
/**
 * @name       datei: function_array_anzeigen.php
 * @abstract   Universal-Datei zur Anzeige von Array-Inhalten
 *                Diese Datei zeigt ein Array an, auch wenn dort 
 *                noch weitere Arrays enthalten sind
 * @author     Ralf von der Mark <Ralf@WebSite-vdM.de>
 * @copyright  Copyright (c) 2005 - 2007, Ralf von der Mark (www.WebSite-vdM.de)
 * @version    Version vom 07.09.2007 um 14:35:08 Uhr
 * 
 * * * Pflichtangaben:
 * @param      array, $array_meiner_werte = Array selbst
 * @param      string, $arrayname    = Name des Arrays
 * * * Optional:
 * @param      string, $ausgabe_form = Ausgabeformat //standard ist html
 * @param      string, $txt_trenner  = Trenner //falls Textausgabe eingeschaltet
 * 
 * 
 * @example    Hier ein paar Beispiele:
 * 
 * Beispiel 1 (Ausgabe in HTML):
          require_once 'function_array_anzeigen.php';//Aufruf der Datei!
          echo array_anzeigen($_SERVER, '$_SERVER');//Standard: Ausgabe in HTML

 * Beispiel 2 (Text-Ausgabe evtl. fuer E-Mail-Versand):
          require_once 'function_array_anzeigen.php';//Aufruf der Datei!
 	      echo array_anzeigen($_SERVER, '$_SERVER', 'txt', '-------');//Text-Ausgabe

 * Beispiel 3 (Ausgabe in HTML):
          require_once 'function_array_anzeigen.php';//Aufruf der Datei!
    	  echo array_anzeigen($_SERVER, '$_SERVER', 'html', 0);//Ausgabe in HTML

 * Beispiel 4 (Text-Ausgabe evtl. fuer E-Mail-Versand):
          require_once 'function_array_anzeigen.php';//Aufruf der Datei!
	      echo array_in_txt_anz($_SERVER, '$_SERVER');//Text-Ausgabe

 * Beispiel 5 (Ausgabe in HTML):
          require_once 'function_array_anzeigen.php';//Aufruf der Datei!
	      echo array_in_html_anz($_SERVER, '$_SERVER');//Ausgabe in HTML
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

function array_anzeigen($array_meiner_werte, $arrayname='(Name unbekannt)', 
                        $ausgabe_form='html', $txt_trenner=FALSE)
{
    if (!defined('ZEILENUMBRUCH')) {
    	# Ist das Betriebssystem Windows, Mac oder Linux?
    	if(strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
    	  define('ZEILENUMBRUCH', chr(13).chr(10));
    	} elseif(strtoupper(substr(PHP_OS, 0, 3) == 'MAC')) {
    	  define('ZEILENUMBRUCH', chr(13));
    	} else {
    	  define('ZEILENUMBRUCH', chr(10));
    	}
    }//ENDE: if(defined('ZEILENUMBRUCH'))

    if ($ausgabe_form != 'html') {
        //ich gehe davon aus, wenn nicht html gesetzt, dann reinen Text ausgeben!
    	if (empty($txt_trenner)) {
    	    //wenn kein Trenner definiert, dann diesen benutzen!
    	    $txt_trenner = ZEILENUMBRUCH
    	                  .'#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#'
    	                  .ZEILENUMBRUCH;
    	}//ENDE: if (empty($trenner))
    }//ENDE: if ($ausgabe_form != 'html')
    
    if (is_array($array_meiner_werte)) {
	    
        $titel = 'Inhalt des Arrays *'.$arrayname.'*:';
	    $summe = count($array_meiner_werte);

        if ($ausgabe_form != 'html') {
            //Text-Ausgabe
			$ausgabe = $trenner
			          .$titel.' ('.$summe.' Eintraege)'
			          .ZEILENUMBRUCH;
        } else {
            //HTML-Ausgabe
            $ausgabe = '<table '
			          .'style="color: #0f0f0f; background-color: #ffffff;" '
			          .'cellspacing="1" '
			          .'cellpadding="6" '
			          .'border="1" '
			          .'summary="'.$titel.'">'
			          .ZEILENUMBRUCH;
		    $ausgabe .= '<tr>
						<th style="text-align: left; white-space: nowrap; color: #ffffff; background-color: #990000;" '
	                       .'colspan="5">'
	                        .$titel.' ('.$summe.' Einträge)</th>
					</tr>'.ZEILENUMBRUCH;
    	}//ENDE: else ==> if ($ausgabe_form != 'html')
		
	    $loop_zaehler = 1;//Zaehler-Variable starten!
		foreach($array_meiner_werte as $mein_schluessel => $mein_inhalt)
		{
		    if (is_int($mein_inhalt)) {
		    	$typ = 'integer';
		    } elseif(is_array($mein_inhalt)) {
		    	$typ = 'array';
		    } else {
		    	$typ = 'string';
		    }//ENDE: else ==> if(is_int($mein_inhalt))
		    
		    if (is_string($mein_inhalt)) {
		    	$mein_inhalt = htmlentities($mein_inhalt);
		    } elseif(is_array($mein_inhalt)) {
		    	$mein_inhalt = array_anzeigen($mein_inhalt, $mein_schluessel);
		    }//ENDE: elseif ==> if(is_string($mein_inhalt))
		    
		    if ($ausgabe_form != 'html') {
	            //Text-Ausgabe
	            $ausgabe .= $loop_zaehler.'. von '.$summe.') '
			               .$arrayname.'[\''.$mein_schluessel.'\']'
			               .' ==> "'
			               .$mein_inhalt.'" ('.$typ.')'
			               .ZEILENUMBRUCH;
	    	} else {
	            //HTML-Ausgabe
	    	    $ausgabe .= '<tr>
							<td style="vertical-align: top; white-space: nowrap;">'.$loop_zaehler.'. von '.$summe.'</td>
							<td style="vertical-align: top; white-space: nowrap;" title="Typ: '.$typ.'">'
		                        .'<strong>'
		                        .$arrayname.'[\''.$mein_schluessel.'\']'
		                        .'</strong></td>
							<td style="vertical-align: top; white-space: nowrap;">»</td>
							<td style="text-align: left; vertical-align: top;" title="Typ: '.$typ.'">'.$mein_inhalt.'</td>
							<td style="vertical-align: top;">'.$typ.'</td>
						</tr>'.ZEILENUMBRUCH;
	    	}//ENDE: else ==> if ($ausgabe_form != 'html')

	    	$loop_zaehler++;//immer einen hoch zaehlen

		}//ENDE: foreach($array_meiner_werte as $mein_schluessel => $mein_inhalt)

		if ($ausgabe_form != 'html') {
            //Text-Ausgabe
            $ausgabe .= $trenner;
    	} else {
            //HTML-Ausgabe
            $ausgabe .= ZEILENUMBRUCH.'</table>';//Variable definieren
    	}//ENDE: else ==> if ($ausgabe_form != 'html')

    }//ENDE: if(is_array($array_meiner_werte))
    else{
        if ($ausgabe_form != 'html') {
            //Text-Ausgabe
            $ausgabe = $trenner.$arrayname.' ist kein Array (Inhalt: "'.$array_meiner_werte.'")'.$trenner;
    	} else {
            //HTML-Ausgabe
    	    $ausgabe = '<h3>'.$arrayname.' ist kein Array (Inhalt: "'.$array_meiner_werte.'")</h3>';
    	}//ENDE: else ==> if ($ausgabe_form != 'html')
    }//ENDE: else ===> if(is_array($array_meiner_werte))
		
	return $ausgabe;
}//ENDE: function array_anzeigen(...)

function array_in_txt_anz($array_meiner_werte, $arrayname='(Name unbekannt)')
{
    if (is_array($array_meiner_werte)) {
	    $trenner = ZEILENUMBRUCH
	              .'#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#'
	              .ZEILENUMBRUCH;
	    $titel = 'Inhalt des Arrays *'.$arrayname.'*:';
	
	    $summe = count($array_meiner_werte);
		$ausgabe = $trenner
		          .$titel.' ('.$summe.' Eintraege)'
		          .ZEILENUMBRUCH;
		
	    $loop_zaehler = 1;//Zaehler-Variable starten!
		foreach($array_meiner_werte as $mein_schluessel => $mein_inhalt)
		{
		    if(is_int($mein_inhalt)){
		    	$typ = 'integer';
		    }//ENDE: if(is_int($mein_inhalt))
		    elseif(is_array($mein_inhalt)){
		    	$typ = 'array';
		    }//ENDE: elseif(is_array($mein_inhalt))
		    else{
		    	$typ = 'string';
		    }//ENDE: else ==> if(is_int($mein_inhalt))
		    
		    if (is_array($mein_inhalt)) {
		    	$mein_inhalt = array_in_txt_anz($mein_inhalt, $mein_schluessel);
		    }//ENDE: if(is_string($mein_inhalt))
		    $ausgabe .= $loop_zaehler.'. von '.$summe.') '
		               .$arrayname.'[\''.$mein_schluessel.'\']'
		               .' ==> "'
		               .$mein_inhalt.'" ('.$typ.')'
		               .ZEILENUMBRUCH;
		    $loop_zaehler++;
		}//ENDE: foreach($array_meiner_werte as $mein_schluessel => $mein_inhalt)
		$ausgabe .= $trenner;
    }//ENDE: if(is_array($array_meiner_werte))
    else{
        $ausgabe = $trenner.$arrayname.' ist kein Array (Inhalt: "'.$array_meiner_werte.'")'.$trenner;
    }//ENDE: else ===> if(is_array($array_meiner_werte))
	return $ausgabe;
}//ENDE: function array_in_txt_anz(...)

function array_in_html_anz($array_meiner_werte, $arrayname='(Name unbekannt)')
{
    if(is_array($array_meiner_werte)){
	    
	    $titel = 'Inhalt des Arrays *'.$arrayname.'*';
	
	    $summe = count($array_meiner_werte);
		$ausgabe = '<table '
		          .'style="color: #0f0f0f; background-color: #ffffff;" '
		          .'cellspacing="1" '
		          .'cellpadding="6" '
		          .'border="1" '
		          .'summary="'.$titel.'">'
		          .chr(13);
	    $ausgabe .= '<tr>
						<th style="text-align: left; white-space: nowrap; color: #ffffff; background-color: #990000;" '
	                       .'colspan="5">'
	                        .$titel.' ('.$summe.' Einträge)</th>
					</tr>'.chr(13);
		
	    $loop_zaehler = 1;//Zaehler-Variable starten!
		foreach($array_meiner_werte as $mein_schluessel => $mein_inhalt)
		{
		    if (is_int($mein_inhalt)) {
		    	$typ = 'integer';
		    } elseif(is_array($mein_inhalt)) {
		    	$typ = 'array';
		    } else {
		    	$typ = 'string';
		    }//ENDE: else ==> if(is_int($mein_inhalt))
		    
		    if(is_string($mein_inhalt)){
		    	$mein_inhalt = htmlentities($mein_inhalt);
		    } elseif(is_array($mein_inhalt)) {
		    	$mein_inhalt = array_anzeigen($mein_inhalt, $mein_schluessel);
		    }//ENDE: elseif ==> if(is_string($mein_inhalt))
		    $ausgabe .= '<tr>
							<td style="vertical-align: top; white-space: nowrap;">'.$loop_zaehler.'. von '.$summe.'</td>
							<td style="vertical-align: top; white-space: nowrap;" title="Typ: '.$typ.'">'
		                        .'<strong>'
		                        .$arrayname.'[\''.$mein_schluessel.'\']'
		                        .'</strong></td>
							<td style="vertical-align: top; white-space: nowrap;">»</td>
							<td style="text-align: left; vertical-align: top;" title="Typ: '.$typ.'">'.$mein_inhalt.'</td>
							<td style="vertical-align: top;">'.$typ.'</td>
						</tr>'.chr(13);
		    $loop_zaehler++;
		}//ENDE: foreach($array_meiner_werte as $mein_schluessel => $mein_inhalt)
		$ausgabe .= chr(13).'</table>';//Variable definieren
    }//ENDE: if(is_array($array_meiner_werte))
    else{
        $ausgabe = '<h3>'.$arrayname.' ist kein Array (Inhalt: "'.$array_meiner_werte.'")</h3>';
    }//ENDE: else ===> if(is_array($array_meiner_werte))
		
	return $ausgabe;
}//ENDE: function array_in_html_anz(...)
?>