phpbar.de logo

Mailinglisten-Archive

[php] Array ausgeben, wie es angelegt wurde

[php] Array ausgeben, wie es angelegt wurde

Christian Hamacher php_(at)_phpcenter.de
Tue, 19 Mar 2002 20:25:09 +0100


Hi Alexander,

"Alexander Skwar" Sent: Monday, March 18, 2002 7:29 PM
> Ich würde gerne ein Array genau so ausgeben, wie man es angelegt hatte.
> Dh., ich habe folgendes Array:
>  [schnipp]

ich habe es einfach mal gemacht.
Ist zwar noch nicht perfekt aber ab hier kannst du weiter machen.

Gruß
  Christian

<?php

function array_2_code($array,$prefix = '',$ret=''){
    if (is_array($array)){
        foreach ($array as $key => $value){
            $key_qu = is_string($key) ? "'" : '' ;
            if (is_array($value)) {
                $ret =  array_2_code($value,$prefix.sprintf('[%s%s%s]',$key_qu,$key,$key_qu),$ret);
            } else {
                $val_qu = is_string($value) ? "'" : '' ;
                $value = (gettype($value) == 'NULL') ? 'NULL' : $value ;
                if (is_bool($value)){
                   $value = $value == TRUE ? 'TRUE' : 'FALSE' ;
                }
                $ret .= $prefix.sprintf('[%s%s%s]', $key_qu, $key, $key_qu);
                $ret .= sprintf(" = %s%s%s\n", $val_qu, $value, $val_qu);
            }
        }
    } else {
    //Was machen wir wenn Jemand kein Array uebergibt?
    }
    return $ret;
}

$a[0][0]['name'] = 'blah';
$a[0][0]['wert'] = NULL;
$a[0][0][0]['text'] = 'du';
$a[0][0][0]['inhalt'] = 42 ;
$a[0][0][1]['text'] = 'du';
$a[0][0][1]['inhalt'] = 'doch was';
$a[0][0][1]['inhalt2'] = 1234.42;
$a[1][0]['name'] = TRUE;
$a[1][0]['wert'] = FALSE;

echo nl2br(array_2_code($a,'$a'));

?>


php::bar PHP Wiki   -   Listenarchive