Self-Nachtwächter: print_r ausgabe in Array verwandeln

Beitrag lesen

Anscheinend gibt es von php aus keine Funktion, die eine print_r ausgabe wieder zurück in ein php Array bringt.

Wozu? Du hast doch das Array doch mit print_r() ausgegeben. Warum willst Du die Ausgaben zurückverwandeln? Ist das Array weg?

Übrigens hat print_r() eine Schwester: var_export().

Das Handbuch sagt: "Gibt die Daten als parsbaren PHP-Code zurück".

Daten wegschreiben:

<?php
$foo = [1,2,4,8,'Hallo'];
file_put_contents( 'var_foo.php', '<?php $foo = ' . var_export( $foo ) );

Daten einlesen:

<?php
include 'var_foo.php';
print_r( $foo );

Wichtige Hinweise:

Man könnte auf die Idee kommen, Daten regelmäßig so zu speichern und abzulegen. Das ist keine gute Idee, weil:

  1. Das Einlesen ist langsamer als bei serialisierten Daten (serialice() / unserialice() ) bzw. der Import von JSON, weil das exportierte Zeug als vermutetes PHP geparst wird.

  2. Serialisierte Daten sind sicherer. Grund wie vorstehend.