PHP.de Wissenssammlung

Arrays mit Objekten als PHP-Quellcode ausgeben

Manchmal besteht der Wunsch, Arrays die auch Objekte vom Typ stdClass enthalten, als PHP-Quellcode zu exportieren. Die folgende Funktion hilft da var_export() etwas nach.

function dump_arrobj($arrobj) {
    echo '<pre>'.str_ireplace( 'stdClass::__set_state', '(object)', var_export($arrobj,true) ).'</pre>';
}

Beispiel

// Beispiele anlegen
$obj1 = new stdClass();
$obj1->id = 12;
$obj1->spielername = "Hans";
$obj1->allianz = "23";

$obj2 = new stdClass();
$obj2->id = 18;
$obj2->spielername = "Peter";
$obj2->allianz = "58";

$arr = array($obj1, $obj2);

//PHP-Code ausgeben
dump_arrobj($arr);

Ausgabe

array (
  0 =>
  (object)(array(
     'id' => 12,
     'spielername' => 'Hans',
     'allianz' => '23',
  )),
  1 =>
  (object)(array(
     'id' => 18,
     'spielername' => 'Peter',
     'allianz' => '58',
  )),
)

Eine Variable und = davorgesetzt und ein Semikolon am Ende, und schon kann dies in einem Skript zum Testen benutzt werden.

Dieser Beitrag ist fertiggestellt und wurde zuletzt von hausl bearbeitet.

An diesem Beitrag waren bisher beteiligt: jspit, hausl