我也想在循环外使用arrData数组,如何在循环范围外声明它,好像现在它没有正确填充
$SQL = "SELECT * FROM DailyData WHERE User='$_SESSION[userID]'";
$result = mysql_query($SQL);
$i=0;
// trying this
$arrData= array();
$arrData []= array();
while($row = mysql_fetch_array($result))
{
echo $row['Score'] . " " . $row['Date'];
$arrData[i][1]=$row['Date'];
$arrData[i][2]=$row['Score'];
$i++;
echo "<br />";
}
答案 0 :(得分:2)
$arrData
在while
循环范围之外可用。
看起来你忘记了美元符号:
$arrData[i][1]=$row['Date'];
$arrData[i][2]=$row['Score'];
应该是
$arrData[$i][1]=$row['Date'];
$arrData[$i][2]=$row['Score'];
在原文中,PHP认为你的意思是$arrData['i']
,这意味着你继续写$arrData['i'][1]
和$arrData['i'][2]
- 但是,你正在递增$i
,所以你想要使用该变量 - $arrData[$i][1]
和$arrData[$i][2]
。
答案 1 :(得分:1)
我想这可能就是你要找的东西:
$SQL = "SELECT * FROM DailyData WHERE User='$_SESSION[userID]'";
$result = mysql_query($SQL);
$arrData= array();
while($row = mysql_fetch_array($result))
{
$arrData[]=$row;
//you can also do some output here if you want
}
//arrData is now available outside the while-loop
foreach($arrData as $row) {
echo $row['Score'] . ' ' . $row['Date'] . '<br />';
}