Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中使用循环范围外的多维数组_Php_Arrays_Loops_Multidimensional Array_Scope - Fatal编程技术网

在php中使用循环范围外的多维数组

在php中使用循环范围外的多维数组,php,arrays,loops,multidimensional-array,scope,Php,Arrays,Loops,Multidimensional Array,Scope,我也想使用arrdataarray-outside-loop,如何在loops范围之外声明它,就好像现在没有正确填充它一样 $SQL = "SELECT * FROM DailyData WHERE User='$_SESSION[userID]'"; $result = mysql_query($SQL); $i=0; // trying this $arrData= array(); $arrData []= array(); whi

我也想使用arrdataarray-outside-loop,如何在loops范围之外声明它,就好像现在没有正确填充它一样

  $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 />"; 
    }
$SQL=“从DailyData中选择*,其中用户=“$”会话[userID]”;
$result=mysql\u查询($SQL);
$i=0;
//试试这个
$arrData=array();
$arrData[]=array();
while($row=mysql\u fetch\u数组($result))
{ 
回显$row['Score']。“.$row['Date'];
$arrData[i][1]=$row['Date'];
$arrData[i][2]=$row['Score'];
$i++;
回声“
”; }
我想这可能就是你想要的:

  $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 />'; 
  }
$SQL=“从DailyData中选择*,其中用户=“$”会话[userID]”;
$result=mysql\u查询($SQL);
$arrData=array();
while($row=mysql\u fetch\u数组($result))
{ 
$arrData[]=$row;
//如果需要,也可以在此处进行一些输出
}
//arrData现在在while循环之外可用
foreach($arrData作为$row){
echo$row['Score'].'.$row['Date'..'.'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]

您可以说得更具体一点,您的变量$arrData似乎位于while循环的外部范围内。。所以这段代码应该是golden,但是如何在循环的作用域之外正确地声明它,因为它没有正确地填充,只需使用$arrData=array();您不需要$arrdata[]=array();当你在循环中指定$arrData[i][x]时,它会自动在i上为你创建一个数组。你在这里所做的与$arrData=mysql_fetch_数组($result)完全相同;顺便说一句:p