我有一个CSV文件,我得到每一行数据,然后将它们存储在不同的数组中,这个功能工作正常,但是使用一个函数而不是使用switch语句和简单的赋值更有效,但是,因为我是分配数组,我不知道怎么做,我也看了similar question但是在我的情况下我不能将函数作为数组,因为我分配给不同的变量,我很感激,如果有人可以让我更好地替代我的代码。
if (($handle = fopen($input, "r")) !== FALSE) {
fgetcsv($handle, 100000, ",");
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
$num = count($data);
for ($c = 0; $c < $num; $c++) {
switch ($c):
case(0):
$urls404[] = $data[$c];
break;
case(3):
$detected[] = $data[$c];
break;
case(5):
$platform[] = $data[$c];
break;
case(7):
$redirects[] = $data[$c];
break;
endswitch;
}
}
fclose($handle);
}
答案 0 :(得分:2)
您可以像这样简化代码:
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
$urls404[] = $data[0];
$detected[] = $data[3];
$platform[] = $data[5];
$redirects[] = $data[7];
}