在php循环作用域外使用多维数组



我想在循环外使用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 />"; 
    }

$arrDatawhile循环范围之外可用。

你好像忘了美元符号:

$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 />'; 
  }

相关内容

  • 没有找到相关文章