我需要从表单上传csv文件。我能做到的。 csv文件包含参加比赛的人员的姓名和电子邮件。为了获得比赛获胜者,我需要php来阅读文件,随机化行,并打印出整行。
我一直在尝试使用我在stackoverflow上找到的以下代码,但它只从随机行输出一列。我需要它来输出整行,我需要三行。无论我尝试什么,我都无法得到这个代码:
<?php
if (!isset($_FILES)){exit;}
$file = $_FILES['file'];
$file_handle = fopen($file['tmp_name'], "r");
$line_of_text = array();
while (!feof($file_handle) ) {
$line_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
// Random Row and Column
$random_row = array_rand($line_of_text);
$random_column = array_rand($line_of_text[$random_row]);
//Random row, with all three columns
$column = 1;
$column = 2;
$column = 3;
echo $line_of_text[$random_row][$column-1][$column-2][$column-3];
?>
如果删除第2列和第3列,它会打印第1列,但我需要所有三列,即整行。我还想抓住三个随机行并打印出一行上的每一行。
答案 0 :(得分:0)
$line_of_text[$random_row]
是一个数组。假设我正确理解了它的结构,你可以通过以下方式轻松获得所有三列:
echo $line_of_text[$random_row][$column-1] . $line_of_text[$random_row][$column-2] . $line_of_text[$random_row][$column-3];
这将三个数组值的值连接在一起。如果您想通过空格分隔它们,只需将.
替换为. ' ' .
或类似内容。
答案 1 :(得分:0)
谢谢你,连接工作了!出于某种原因,我不得不改变第3列的顺序,然后是2,然后是1。但这让我得到了我想要的结果。