所以我有这段代码:
<?php
$csv = array();
$lines = file('file.csv', FILE_IGNORE_NEW_LINES);
foreach ($lines as $key => $value)
{
$csv[$key] = str_getcsv($value);
}
echo '<pre>';
print_r($csv);
echo '</pre>';
?>
给了我以下
[0] => Array
(
[0] => value1
[1] => value2
[2] => value3
[3] => value4
如何命名我的钥匙?所以我没有看到0-1-2-3但是Name1-Name2-Name3等。
喜欢这个:
[0] => Array
(
[Name0] => value1
[Name1] => value2
[Name2] => value3
[Name3] => value4
答案 0 :(得分:2)
现在我明白了!
在这种情况下,您需要做的就是将字符串文字连接到您生成的键的前面,如下所示: -
<?php
$csv = array();
$lines = file('file.csv', FILE_IGNORE_NEW_LINES);
foreach ($lines as $key => $value)
{
$csv['Name'.$key] = str_getcsv($value);
}
echo '<pre>';
print_r($csv);
echo '</pre>';
?>
答案 1 :(得分:0)
function csvToArray($filename, $delimiter = ',') {
if (!file_exists($filename) || !is_readable($filename)) {
return FALSE;
}
$header = NULL;
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE) {
while (($row = fgetcsv($handle, 0, $delimiter)) !== FALSE) {
if (count($row) > 0 && !is_null($row[0])) {
if (!$header) {
$header = $row;
} else {
$data[] = array_combine($header, $row);
}
}
}
fclose($handle);
}
return $data;
}
试试这个功能 $ filename是文件的完整路径 还可以将csv添加为您想要的第一行键,函数将使用第一行键
csv示例:
&#34; ID&#34;&#34;国家&#34;&#34;城市&#34;
&#34; 1&#34;&#34;我们&#34;&#34;阿班达&#34;
&#34; 2&#34;&#34;我们&#34;&#34;阿布维尔&#34;
答案 2 :(得分:0)
$keys = ['Name1', 'Name2', 'Name3', 'etc'];
$csv[$key] = array_combine($keys, str_getcsv($value));
这有效
感谢Mark Baker