So schreibe ich eine einfache Export-CSV-Funktion in PHP, aber ich habe ein bisschen ein Problem, wenn es um Header und Array für Werte kommt.neues Array mit nur Werten in PHP
Ich habe ein Preset Array von welchen Spalten der Benutzer exportieren kann, die $exportHeaders
ist. Also, was ich versuche zu tun, anstatt jeden Wert für $row['value for column']
einzugeben, möchte ich einen Weg schaffen, ein neues Array anstelle von $row
Abschnitt einfügen zu machen. Allerdings, wenn ich ein neues Array zu machen, die $newExportHeader[]
in meinem Fall ist, habe ich am Ende mit einem Array auf, die (mit Schlüsseln und Wert) wie folgt aussieht:
$newExportHeader = array(
0 => $row['first_name'],
1 => $row['last_name'],
2 => $row['email'],
);
Aber ich brauche ein Array, das keine hat Schlüssel damit verbunden. Also meine Frage ist: Gibt es eine Möglichkeit, ein Array on the fly ohne Schlüssel darin zu machen, nur Werte
protected $exportHeaders = array(
"first_name", "last_name", "email", "street", "city", "province", "postal_code", "phone_1",
"phone_2", "created_at", "updated_at"
);
Das derzeit arbeitet:
foreach ($this->user->clients()->get() as $row) {
fputcsv($handle, array(row['first_name'], row['last_name'], row['email']));
}
Eine der Optionen, die ich war Herumspielen mit - funktioniert nicht:
foreach ($this->user->clients()->get() as $row) {
foreach ($this->exportHeaders as $header) {
$newExportHeader[] = $row[$header]; <-Problem Area
}
fputcsv($handle, array_values($newExportHeader));
}
Jede Hilfe wird geschätzt.
Ein Array ohne Schlüssel, Doh !! Was ist das? Ich denke, Sie könnten es eine Komma-getrennte Zeichenfolge nennen – RiggsFolly
PHP erlaubt keine Arrays ohne Schlüssel. Wenn Sie ein Array "ohne Schlüssel" erstellen, wie dieses $ foo = array ("eins", "zwei", "drei"); ', wird PHP es automatisch indizieren, so dass $ foo [0] ===" ein "'. Daher ist ein Array "ohne Schlüssel" dasselbe wie ein indiziertes Array, das bei 0 beginnt. – mkasberg