我想在循环外使用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 />";
}
$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]
。
我猜这可能是你正在寻找的:
$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 />';
}