我正在开发一个jQuery拖放游戏,并从有效的csv文件中提取信息,例如图像,年份和文本:
$rows = file('Book1.csv');
$len = count($rows);
$rand = array();
while (count($rand) < 5) {
$r = rand(0,$len);
if (!in_array($r,$rand)) {
$rand[] = $r;
}
}
echo 'var cardDeck = [';
foreach ($rand as $r) {
$csv = $rows[$r];
$data = str_getcsv($csv);
echo "{\n";
echo "'image':'".$data[1]."',\n";
echo "'year':'".$data[0]."',\n";
echo "'hint':'".$data[3]."',\n";
echo "'caption':'".$data[2]."'";
echo "\n},\n";
}
echo "];";
但是我遇到的问题是,我试图使用for循环创建5个新数组,以增加变量名,并将Year值设置为已经从csv中提取的数组
foreach ($rand as $r) {
$csv = $rows[$r];
$data = str_getcsv($csv);
for ($i = 1; $i < 5; $i++) {
$varToEcho = "correct_dropzone$i"; // become correct_dropzone1,correct_dropzone2,etc.
echo "var ".$varToEcho." = new Array('".$data[0]."');\n";
}
}
我在寻找什么
var correct_dropzone1 = new Array('1845');
var correct_dropzone2 = new Array('1835');
var correct_dropzone3 = new Array('1586');
var correct_dropzone4 = new Array('1912');
var correct_dropzone5 = new Array('1969');
但是我的输出是:
var correct_dropzone1 = new Array('1845');
var correct_dropzone2 = new Array('1845');
var correct_dropzone3 = new Array('1845');
var correct_dropzone4 = new Array('1845');
var correct_dropzone1 = new Array('1835');
var correct_dropzone2 = new Array('1835');
var correct_dropzone3 = new Array('1835');
var correct_dropzone4 = new Array('1835');
var correct_dropzone1 = new Array('1586');
var correct_dropzone2 = new Array('1586');
var correct_dropzone3 = new Array('1586');
var correct_dropzone4 = new Array('1586');
var correct_dropzone1 = new Array('1912');
var correct_dropzone2 = new Array('1912');
var correct_dropzone3 = new Array('1912');
var correct_dropzone4 = new Array('1912');
var correct_dropzone1 = new Array('1822');
var correct_dropzone2 = new Array('1822');
var correct_dropzone3 = new Array('1822');
var correct_dropzone4 = new Array('1822');