我想做的是在下面的方法中将一个47kb的csv文件插入到一个数组中。
CSV结构:
ID;文本;整数;VARCHAR(1)
示例:1;随机文本;0;Q
但是CSV文件中有多个id,因为这是一个问答表,每个问题的答案都有相同的id。
我假装要做的是将CSV文件导入到一个数组中,然后在VARCHAR字段中搜索该数组中的Q,然后计算出有多少问题(Q=问题,A=答案)。
有了问题的数量,我将选择5个,例如,然后得到他们的ID和得到的答案,比较是非。
现在我只想导入CSV文件并搜索问题。。。
如何将CSV导入到数组中,以便在导入后搜索某些值?
我希望我把每件事都说得详细些,以便能理解。
谢谢你
操作系统:Linux
语言:PHP5.4
最佳答案
$csvArray = file('file.csv');
$base = array('Q' => array(), 'A' => array());
foreach ($csvArray as $line) {
$lineArray = explode(';', $line);
//$lineArray[0] - ID
//$lineArray[1] - text
//$lineArray[2] - number
//$lineArray[3] - type
if ($lineArray[3] === 'Q') {
$base['Q'][$lineArray[0]] = array(
'text' => $lineArray[1],
'number' => $lineArray[2]
);
} elseif ($lineArray[3] === 'A') {
$base['A'][$lineArray[0]][] = array(
'text' => $lineArray[1],
'number' => $lineArray[2]
);
}
}
//all questions - $base['Q']
//question item - $base['Q'][ID-question]
//all answers for ID-question - $base['A'][ID-question]