Ich verwende diese Bibliothek, um ein Array in ein anderes Datenformat oder umgekehrt zu konvertieren.
Dort finden Sie das Bibliotheks-/Klassenformat (Format.php), mit dem Sie CSV in ein Array konvertieren und dann in Ihrer Datenbank speichern können. Diese Klasse unterstützt auch andere Formate:
- xml – fast jede Programmiersprache kann XML lesen
- json – nützlich für JavaScript- und zunehmend PHP-Apps.
- csv – mit Tabellenkalkulationsprogrammen öffnen
- html – eine einfache HTML-Tabelle
- php – Darstellung von PHP-Code, der ausgewertet werden kann
- serialize – Serialisierte Daten, die in PHP deserialisiert werden können
BEARBEITEN:
Diese Bibliothek funktioniert bei CSV mit dem Trennzeichen "\n" in jeder Zeile und "," in jeder Spalte, Sie können es wie folgt verwenden:
$this->load->library('format');
$string_csv = "YOUR CSV";
$result = $this->format->factory($string_csv, 'csv')->to_array();
var_dump($result);
So einfach. Wie ich jedoch oben sagte, wenn Sie ein anderes Trennzeichen haben, müssen Sie die Bibliothek nach Bedarf anpassen. Hier die Hauptfunktion zum Konvertieren von CSV in ein Array:
function _from_csv($string)
{
$data = array();
// Splits
$rows = explode("\n", trim($string));
$headings = explode(',', array_shift($rows));
foreach ($rows as $row)
{
// The substr removes " from start and end
$data_fields = explode('","', trim(substr($row, 1, -1)));
if (count($data_fields) == count($headings))
{
$data[] = array_combine($headings, $data_fields);
}
}
return $data;
}
BEARBEITEN 2:
Mein Beispiel funktioniert mit diesem Standard-CSV-Format:
Heading1, Heading2, Heading3
"1","John","London"
"2","Brian","Texas"