我正在尝试使用foreach
发布3个数组,由于某种原因,最后的break
无法正常工作,它将整个列表(40+)输出到页面上。
$file = fopen('names.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
//$line is an array of the csv elements
shuffle($line);
$i = 0;
foreach ($line as $number) {
{
if($i==3){ break; } else {
$rtime = mt_rand(1, 7);
echo $number; }
$i++;
}
}
}
fclose($file);
看起来是这样的:take.ms/cLgIh,而应该只显示其中三个用户名。
最佳答案
我已经从这里下载了第一个示例CSV:-http://www.sample-videos.com/download-sample-csv.php
这段代码对我有用:
<?php
$file = fopen('SampleCSVFile_2kb.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
//$line is an array of the csv elements
shuffle($line);
$i = 0;
foreach ($line as $number) {
if($i==3){
exit;
} else {
$rtime = mt_rand(1, 7);
echo $number.'<br/>';
echo $i.'<br/>'; // you can remove this line
}
$i++;
}
}
fclose($file);
?>
每页输出刷新:
http://prntscr.com/cln2ju
http://prntscr.com/cln2nf
注意:-如果仍然无法使用,请检查您的CSV文件。可能是它已损坏。
结论:-经过所有讨论之后,您的CSV文件已损坏。但是是的,代码改进也需要