Zitat:
Zitat von der_meier_hans
Hallo!
Ich lese eine CSV Datei mit der php.net Funktion ein. Danach erhalte ich meine Daten als array:
PHP-Code:
Array
(
[0] => 1
[1] => BMW
[2] => 9510
)
|
"php.net Funktion"? Meintest du
fgetcsv()?
Zitat:
Nun versuche ich erfolglos die einzelnen Array's zu mergen. Die, mit der gleichen
Automarke sollen zusammengefasst werden.
|
Wie genau?
Es dürfte wohl auf eine benutzerdefinierte Funktion hinauslaufen, die du dir selbst schreiben musst. Etwa so:
PHP-Code:
$csv = ...; // siehe dein Array
function collect_cars(
$from_csv
) {
// hier kommen die "gesammelten|zusammengefassten"
// Autos rein
$collected = array ();
// das CSV-Arrray wird der Reihe nach abgearbeitet
foreach ($from_csv as $car) {
$type = $car[0];
// falls der "Autotyp" (die Marke) noch nicht erfasst wurde,
// wird eine neuer Eintrag dafuer angelegt
if (!isset($collected[$type])) {
$collected[$type] = array ();
}
// jedes Auto einsammeln
$collected[$type][$cars[0]] = $cars[1];
}
return $collected;
}
$collected_cars = collect_cars($csv);
Zitat:
|
Ich habe es mit array_merge() versucht, aber da es sich um mehr als 1000 Arrays handelt, kann ich diese Funktion nicht anwenden.
|
Wer behauptet das? Ich glaube zwar nicht, dass
array_merge() bei der Lösung deines Problems hilfreich sein könnte, aber eine Begrenzung auf unter 1000 Arrays ist bei dieser Funktion sicher nicht eingebaut.