Linuchs: Array als PHP-snipped in Datei schreiben und lesen

Beitrag lesen

problematische Seite

Moin,

für die Termintypen von Veanstaltungsdaten erzeuge ich ein 2-dimensionales Array, das sich monatelang nicht ändert. Also möchte ich es nicht bei jedem Programmlauf per SQL und PHP neu erzeugen (0.04900s), sondern einmalig in eine Datei schreiben und die Datei als PHP-Code lesen (0.00000s).

Obwohl file_put_contents ein array zulässt, kann ich es von Datei mit file_get_contents nicht wieder herstellen:

echo "<pre class=nodisplay>arr_termintypen:\n\n";
var_dump( $arr_termintypen );
echo "</pre>\n";

file_put_contents( "cache/arr_termintypen.php", $arr_termintypen );

$test = file_get_contents( "cache/arr_termintypen.php" );

echo "<pre class=nodisplay>test:\n\n";
var_dump( $test );
echo "</pre>\n";

Ergebnis:

<pre class=nodisplay>arr_termintypen:

array(44) {
  [24]=>
  array(12) {
    ["TYP"]=>
    string(2) "24"
    ["anzahl_termine"]=>
    string(1) "0"
    ["typgruppe_id"]=>
    string(1) "1"
    ["color"]=>
    string(7) "#f2004c"
    ["sort"]=>
    string(7) "bil_fue"
    ["typ_beschreibung"]=>
    string(0) ""
    ["gruppe_de"]=>
    string(7) "Bildung"
    ["name_de"]=>
    string(23) "Führung, Bildungsreise"
    ["gruppe_en"]=>
    string(9) "Education"
    ["name_en"]=>
    string(32) "Guided tour, Educational journey"
    ["gruppe_nl"]=>
    string(9) "Onderwijs"
    ["name_nl"]=>
    string(28) "Rondleiding, educatieve reis"
  }
  [47]=>
  array(12) {
...
  }
}
</pre>
<pre class=nodisplay>test:

string(220) "ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray"
</pre>

Was mache ich falsch?

fragt Linuchs