我一直在寻找php array_column和array_map,但我仍然没有得到它!。
这是我用来加载我的CSV的代码
<?PHP
$row = 1;
$faq = array(); //define the main array.
if (($handle = fopen("file.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
for ($c = 0; $c < $num; $c++) {
}
$faq[] = $data; //add the row to the main array.
}
fclose($handle);
}
?>
这就是我输出数据的方式:
echo $faq[1][13];
所以[1]是行,[13]是列。
但如果该信息不再在行[1]上,但我仍然希望找到该数据。 因此,如果我们说列和行0是ID /标题,我可以写
echo $faq['printing']['Hash_tag'];
[&#39;打印&#39;] =表示它在第0列找到该字的行
[&#39; Hash_tag&#39;] =表示列&#34; 13&#34;它在最上一行找到它。
可以肯定这是重复的,但是我一直在寻找这个并且我几乎放弃了,因为我无法弄明白。
答案 0 :(得分:0)
我写了一个非常小的模板 - 没有错误检查(如代码中所示)所以请按照您认为合适的方式添加...
$fh = fopen("a.txt", "r");
$header = fgetcsv($fh);
$faq = [];
while ( $data = fgetcsv($fh)) {
$faq [ $data[0] ] = array_combine($header, $data);
}
print_r($faq);
使用文件
运行tag1,tag2
a,1
b,2
r,t
提供输出
Array
(
[a] => Array
(
[tag1] => a
[tag2] => 1
)
[b] => Array
(
[tag1] => b
[tag2] => 2
)
[r] => Array
(
[tag1] => r
[tag2] => t
)
)