phpbar.de logo

Mailinglisten-Archive

[php] ereg,split und array

[php] ereg,split und array

Ali arsajedi_(at)_bupnet.de
Mon, 18 Sep 2000 19:07:22 +0200


Hallo,

guten Abend allen.

ich habe eine Datei(file.txt) in der u.a. steht:

965392996|xxx|yyy|18.09.2000
966500483|zzz|www|18.09.2000
968139706|sss|vvv|18.09.2000
968166667|fff|nnn|18.09.2000
969261666|ggg|jjj|18.09.2000

Nun versuche ich das Tagesdatum (z.B. fuer heute 18.09.2000),zu holen und
dann zu schauen, ob in der Datei ein diesem Datum entsprechender Eintrag
gibt. Wenn das der Fall ist, dann sollte der Eintrag gesplitet werden und
daraus ein Hash aus dem zweiten und dem dritten Element gebildet werden.
Danach sollen die Elemente dieses Hash sortiert ausgegeben werden. Die
Ausgabe der Elemente funktioniert leider nicht wie erwartet. Obwohl 5
entsprechende Elemente vorhanden sind, wird nur das letzte ausgegeben. Der
Hash wird zwar gebildet. Er beinhaltet nur ein key-val Paar und zwar das
letzte. Wenn ich diese Hashbildung weglasse und direkt die Elemente $line[1]
und $line[2] nehme,dann klappt es aber unsortiert. Unten habe ich den Code
beigefuegt. Weiss jemand, was ist der Grund fuer dieses Verhalten? Ich bin
fuer jeden Hinweis dankbar.

<?
$Datum = date("d.m.Y");//z.B. 18.09.2000

$fd = fopen("file.txt", "r");

while (!feof($fd)) {
  $buffer = fgets ($fd, 4000);
  if (ereg($Datum,$buffer)){
  $line = split("\|", $buffer);
  $Mitarbeiter = array($line[1]=>$line[2]);
  }
}

asort ($Mitarbeiter);
reset ($Mitarbeiter);

while (list ($key, $val) = each ($Mitarbeiter)){
  echo "
            <tr>
              <td>$key</td>
              <td>$val</td>
            </tr>";
}

?>


Ali



php::bar PHP Wiki   -   Listenarchive