gezielte zeile im array auslesen
dirk w.
- php
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.
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
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
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)
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
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