我有一个名为data.csv的csv文件。
这里是data.csv中内容的示例
Microsoft,2020-02-13,"Sample",tt,aa,qq,w,ee,rr,tt,", ",", ",", ","2020-02-13 16:03:08"
Google,2020-02-13,"HQ",tt,aa,qq,w,ee,rr,tt,", ",", ",", ","2020-02-13 16:10:48"
我正在尝试遍历csv的每一行,并检查用户输入的变量(比如说var =“ Microsoft”)是否与任何行中的第一个值匹配。如果匹配,则将该行中的所有元素作为数组返回。 (使用fgetcsv尝试过此操作,但返回了整个csv文件)
这是我到目前为止尝试过的:
foreach ($csv as $line) {
if ($line[0] == 'Microsoft') {
$file = fopen("data.csv","r");
echo(fgetcsv($file));
fclose($file);
}
}
$csv = array_map('str_getcsv', file('./temp.csv'));
foreach ($csv as $line) {
if ($line[0] == 'Microsoft') {
echo implode(', ',$line);
}
}
如果第一列的值适合作为数组索引。您可以使用array_column通过第一列重新索引:
<?php
$result = array_column(array_map('str_getcsv', file('data.csv')), null, 0)['Microsoft'] ?? null;