私のCSVファイルはこの構造になっています
title;firstName;lastName;email;
Sir;Bob;Public;bob.p@gmail.com;
最初の行は列名を示しています。コンテンツは2行目から始まります。今、私はこれをこのような連想配列に入れたいです
array([0] =>
array(
'title' => 'Sir',
'firstName' => 'Bob',
'lastName' => 'Public',
'email' => 'bob.q@gmail.com'
)
)
私が試したこと:
$entities = array();
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
for ($c = 0; $c < $num; $c++) {
$line = array();
//save first row
if ($row == 1) {
foreach (explode(';', $data[$c]) as $field) {
//dont save empty fields
if ($field != "") {
$fields[] = $field;
$line[$field] = array();
}
}
}
//go through contents and save them
foreach ($fields as $field) {
for ($i = 2; $i < count($fields); $i++) {
$cust = explode(";", $data[$c]);
$line[$field][] = $cust[$i];
}
}
$entities[] = $line;
$row++;
}
}
fclose($handle);
}
これはエラーを発生させませんが、混乱しているように見える奇妙な配列を生成します。希望する構造をどのように取得できるかについてのアイデアはありますか?