Hi,
In den nächsten Zeilen soll dann jeweils immer abhängig von der ersten Zeile eine "value" Variable beschrieben werden, der Psuedo-Code wäre in etwa:
Wenn $vorname ist gleich aktuelle Spalte dann
speichere aktuellen Wert aus der csv-Datei in $vornameValue
Das gleiche mit $nachname und geburtstdatum.
Das kannst du einfacher haben, wenn du statt einzelner entsprechend benannter Variablen die Bezeicher als Schlüssel eines assoziativen Arrays verwendest.
Die erste Zeile separat einlesen, so dass ein Array mit den Elementen 'Nachname', 'Vorname' und 'Geburtsdatum' entsteht.
Anschließend in der Verarbeitung der folgenden Zeilen diese Schlüssel jeweils mit dem sich aus der Zeile ergebenden Werte-Array per array_combine zu einem assoziativen Array kombinieren. Dieses als Element in ein weiteres Array einfügen, und schon hast du anschließend die Daten schön strukturiert vorliegen:
$daten = 'Nachname;Vorname;Geburtstdatum|Brandt;Markus;15.03.94|Meyer;Marcel;dd|Müller;Max;ff|bla;Michel;das';
$zeilen = explode('|', $daten);
$schluessel = str_getcsv($zeilen[0], ';');
$ergebnis = array();
for($i=1,$l=count($zeilen); $i<$l; ++$i) {
$ergebnis[] = array_combine($schluessel, str_getcsv($zeilen[$i], ';'));
}
print_r($ergebnis);
In diesem Beispiel habe ich, der Einfachheit halber, die Daten statt durch Zeilenumbrüche durch | getrennt, und eine for-Schleife benutzt - das willst du für dein Vorhaben ggf. noch anpassen; es soll nur das Prinzip zeigen.
Als Ergebnis erhältst du damit folgendes, was sich auch viel angenehmer weiterverarbeiten lassen sollte, als einzelne "benannte" Vriablen:
Array
(
[0] => Array
(
[Nachname] => Brandt
[Vorname] => Markus
[Geburtstdatum] => 15.03.94
)
[1] => Array
(
[Nachname] => Meyer
[Vorname] => Marcel
[Geburtstdatum] => dd
)
[2] => Array
(
[Nachname] => Müller
[Vorname] => Max
[Geburtstdatum] => ff
)
[3] => Array
(
[Nachname] => bla
[Vorname] => Michel
[Geburtstdatum] => das
)
)
MfG ChrisB
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?