Hallo...
Ich bin gerade dabei ein Script zu schreiben, und komme an einer Stelle nicht mehr weiter.
Die Ausgangssituation ist folgende:
Ich habe zwei CVS Dateien.
Die erste ist eine Banliste für einen Gameserver, die eindeutige IDs von Usern enthält die gebannt wurden.
Die zweite Datei, enthält Informationen zu allen Usern, die jemals auf dem Gameserver eingeloggt waren, unter anderem auch die ID.
Ziel ist es nun, die Userliste nach den gebannten IDs zu durchsuchen, und bei übereinstimmung die jeweilige Zeile des Users in eine separate Datei zu speichern.
Ich habe das Script bisher soweit, das ich mir die jeweiligen Dateien vom Server kopiere, und sie anschließend "aufbereite". Das heist, das die ID jeweils an erste Stelle steht, und überflüssige Informationen aus der Liste gefilter werden. Nun kommen die Arrays ins spiel, und da gehts nicht weiter.
Bisher hab ich das so gemacht (ohne Ergebnis):
In den Kommentaren steht meine Theorie dazu...
Es sollten eigentlich die ID und der dazugehörige Name ausgegeben werden. Stattdessen bekomme ich nur die ID und den Namen des letzten in der Liste (der noch nicht einmal in der Banliste steht). Und das genau 1942 mal, was der Anzahl der Einträge in der ranklist entspricht.
Ich bin gerade dabei ein Script zu schreiben, und komme an einer Stelle nicht mehr weiter.
Die Ausgangssituation ist folgende:
Ich habe zwei CVS Dateien.
Die erste ist eine Banliste für einen Gameserver, die eindeutige IDs von Usern enthält die gebannt wurden.
Die zweite Datei, enthält Informationen zu allen Usern, die jemals auf dem Gameserver eingeloggt waren, unter anderem auch die ID.
Ziel ist es nun, die Userliste nach den gebannten IDs zu durchsuchen, und bei übereinstimmung die jeweilige Zeile des Users in eine separate Datei zu speichern.
Ich habe das Script bisher soweit, das ich mir die jeweiligen Dateien vom Server kopiere, und sie anschließend "aufbereite". Das heist, das die ID jeweils an erste Stelle steht, und überflüssige Informationen aus der Liste gefilter werden. Nun kommen die Arrays ins spiel, und da gehts nicht weiter.
Bisher hab ich das so gemacht (ohne Ergebnis):
PHP-Code:
$banlist_content = file("$banlist");
$ranklist_content = file("$ranklist");
$anzahl_b = count($banlist_content);
$anzahl_r = count($ranklist_content);
echo $anzahl_b; //Test (ergibt 14)
echo "<br>"; //Test
echo $anzahl_r; //Test (ergibt 1942)
echo "<br>"; //Test
for ($b = 0; $b < $anzahl_b; $b++) //sollte 14mal durchlaufen
{
$array = explode("|",$banlist_content[$b]); //zeile aufsplitten
for ($i = 0; $i < $anzahl_r; $i++) //läuft 1942 mal durch
{
$array = explode("|",$ranklist_content[$i]); //zeile aufsplitten
if ($banlist_content[$b][0] == $ranklist_content[$i][0]) //vergleichen und bei übereinstimmung...
{
echo "$ranklist_content[$i][0]|$ranklist_content[$i][1]|<br>\n"; //...ergebnis anzeigen (dürften maximal 14 sein)
}
}
}
Es sollten eigentlich die ID und der dazugehörige Name ausgegeben werden. Stattdessen bekomme ich nur die ID und den Namen des letzten in der Liste (der noch nicht einmal in der Banliste steht). Und das genau 1942 mal, was der Anzahl der Einträge in der ranklist entspricht.
Kommentar