このライブラリを使用して、配列を他のデータ形式に変換したり、その逆を行ったりします。
そこで、CSVを配列に変換してデータベースに保存するために使用できるライブラリ/クラス形式(Format.php)を見つけることができます。このクラスは他の形式もサポートしています:
- xml –ほとんどすべてのプログラミング言語がXMLを読み取ることができます
- json –JavaScriptおよびますますPHPアプリに役立ちます。
- csv –スプレッドシートプログラムで開く
- html –単純なHTMLテーブル
- php – eval()されたPHPコードの表現
- serialize –PHPでシリアル化解除できるシリアル化されたデータ
編集:
このライブラリはCSVで機能し、各行に区切り文字「\ n」、各列に「、」があり、次のように使用できます。
$this->load->library('format');
$string_csv = "YOUR CSV";
$result = $this->format->factory($string_csv, 'csv')->to_array();
var_dump($result);
とても簡単です。ただし、上記で述べたように、別の区切り文字がある場合は、必要に応じてライブラリを調整する必要があります。 CSVを配列に変換する主な機能は次のとおりです。
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;
}
編集2:
私の例は、この標準のCSV形式で機能します:
Heading1, Heading2, Heading3
"1","John","London"
"2","Brian","Texas"