我有一个包含6列的csv文件。我想随机将一条记录(不是整行)返回到我的网页。例如,从第5行返回第1列和第4列。
下面的代码返回整个文件(第1,2,3列)。我只想要返回一行。如何修改此代码以恢复一条记录?
<?PHP
$csvfile = "table.csv";
$file_handle = fopen($csvfile, "r");
while (!feof($file_handle) ) {
$line_of_text = fgetcsv($file_handle, 1024);
print $line_of_text[0] . $line_of_text[1]. $line_of_text[2] . "<BR>";
}
fclose($file_handle);
?>
答案 0 :(得分:1)
使用上面的代码,您可以修改它以显示特定的行和列。正如@Dagon在他的帖子中提到的,你可以使用array_rand进行随机输入(见下文)。如果愿意,您还可以在数组中指定行和列位置。
<?php
$csvfile = "table.csv";
$file_handle = fopen($csvfile, "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]);
echo $line_of_text[$random_row][$random_column];
//Specified Row 5 Column 1
$row = 5;
$column = 1;
echo $line_of_text[$row-1][$column-1];
?>
答案 1 :(得分:0)
效率低下,但您可以将打印更改为
$p[]= ...
然后循环
echo $p[array_rand($p)];