dirk w.: gezielte zeile im array auslesen

hallo,

ich habe eine textdatei web.txt (auszug):

05|photo|april 2003|concept|description|offline|4|none|
06|zone|november 2003|graphic|description|online|4|none|

so lese ich von allen zeilen wert 2 und 3 aus:

$file = file("web.txt");
foreach ($file as $key => $value)
{
  $file[$key] = explode("|",$value);
}
foreach($file as $key => $value)
{
echo $value[1];
echo $value[2];
}

jetzt möchte aber nur die werte 2 und 3 aus der zeile wo $value[0] gleich 06 ist anzeigen. wie mache ich das am einfachsten?

gruß
dirk w.

  1. Huhu Dirk

    jetzt möchte aber nur die werte aus der zeile wo $value[0] gleich 06 ist anzeigen. wie mache ich das am einfachsten?

    Entweder lässt Du alle Zeilen aus wo $value[0] != '06' ist, oder
    Du zeigst nur die Zeilen an wo $value[0] == '06' ist.

    Ist doch einfach oder?

    http://de2.php.net/manual/en/language.control-structures.php

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. hallo lulu,

      danke für die zügige antwort.

      Entweder lässt Du alle Zeilen aus wo $value[0] != '06' ist, oder
      Du zeigst nur die Zeilen an wo $value[0] == '06' ist.

      ich möchte gar nicht erst alle werte auslesen müssen. kann man nicht aus dem array gezielt die zeile auslesen wo der erste wert vor dem seperator einen bestimmten wert hat? kenne mich leider nicht _allzu_ gut mit php aus.

      ciao dirk

      1. Hi dirk

        ich möchte gar nicht erst alle werte auslesen müssen.

        Also die Datei musst Du in jedem Fall ganz einlesen.

        Folgendes wäre denkbar

        a)

        • per file_get_contents() die Datei einlesen

        • per preg_replace() alle Zeilen rauslöschen welche nicht dem Kriterium entsprechen

        • den String in ein Array zerlegen

        oder b)

        • die Datei per file() als Array einlesen
        • per array_filter() nicht gewünschte Elemente entfernen

        dürfte performanter als a) sein.

        c)
        Für mehr Komfort zur gezielten Auswahl von Datensätzen eine richtige Datenbank benutzen

        Viele Grüße

        lulu

        --
        bythewaythewebsuxgoofflineandenjoytheday
        1. ich möchte gar nicht erst alle werte auslesen müssen.
          Also die Datei musst Du in jedem Fall ganz einlesen.

          stimmt. ich habs jetzt so zufriedenstellend gelöst. $count ist der erste wert in meiner gesuchten zeile:

          $file = "web.txt";
          $datei = fopen($file, "r");
           while($value=fgetcsv($datei, 1000, "|")):
            if($value[0] == $count):
                *****mach was****
            endif;
           endwhile;

          Für mehr Komfort zur gezielten Auswahl von Datensätzen eine richtige Datenbank benutzen

          das stimmt wohl. ;)

          nochmal svielen dank für die anregungen!

          mfg
          dirk