Zufällige Zeile aus Textdatei per explode aufsplitten geht nicht

Knorpelsuppe

Grünschnabel
Hallo Leute!
Zuerst einmal möchte ich mich vorstellen und den Leuten danken, die Tutorials.de mit ihren Beiträgen so wertvoll machen. Wirklich ein tolles Forum.
Hier ist mein kleines Problem:

Folgender simpler PHP-Code gibt mir einen 500 Internal Error raus:

PHP:
<?php

  $daten = "datenbank.txt";


    // Inhalt in ein Array einlesen
    $array = file("$daten");


    //zählen
    $lines = count($array) - 1;


    //zufallszahl ermitteln
    srand((double)microtime()*1000000);
      $zufall = rand(0, $lines);


    //eine zufaellige zeile auswaehlen
    $var = $array[$zufall];



    foreach ($var as $element) {

    list($datum, $bild, $alter) = explode(";", $element);


    echo $datum;
    }


 ?>



Hab keinen Plan, warum die Zufallszeile $var nicht aufgesplittet wird. Ehrlich gesagt weiß ich nicht, ob "foreach" hier der richtige Befehl ist. MIt "for" gehts auch nicht.


Brett vorm Kopp? Bin ganz neu im programmieren... Über jeden Tipp wäre ich Euch dankbar.
Knorpelsuppe
 
Also erstmal ist mir die Zeile

PHP:
srand((double)microtime()*1000000);
nicht ganz klar. Du rufst hier zwar die Funktion srand() auf, aber weißt sie keiner Variable oder Ähnliches zu, man könnte diese Zeile auch einfacher weg lassen.

Und dein eigentliches Problem: $var ist zu dem Zeitpunkt gar kein Array mehr sondern ein einfacher String.
PHP:
list($datum, $bild, $alter) = explode(";", $var); // $var anstelle von $element
Das sollte reichen, einfach mal ohne die foreach-Schleife probieren.
 
Zurück