$x=1;
while($row = mysql_fetch_array($sql))
{
$A = array ( $x => array ( '1' => $row['AA'],
'2' => $row['BB'],
'3' => $row['CC']));
$x++;echo $A["1"]["1"];
echo $A["2"]["1"];
echo $A["3"]["1"];
}echo $A["1"]["1"];
echo $A["2"]["1"];
echo $A["3"]["1"];
请教为何同样的数组在while 循环内可以正常显示, 在“}”外面就无法显示数组了。谢谢!
while($row = mysql_fetch_array($sql))
{
$A = array ( $x => array ( '1' => $row['AA'],
'2' => $row['BB'],
'3' => $row['CC']));
$x++;echo $A["1"]["1"];
echo $A["2"]["1"];
echo $A["3"]["1"];
}echo $A["1"]["1"];
echo $A["2"]["1"];
echo $A["3"]["1"];
请教为何同样的数组在while 循环内可以正常显示, 在“}”外面就无法显示数组了。谢谢!
while($row = mysql_fetch_array($sql)){
...
}这样就能在循环外操作$A了
试过以下三种在while外面定义,也不行。global $A;
$A = array(16=>6);
$A=array();
应写作:
$A[$x] => array ( '1' => $row['AA'],
'2' => $row['BB'],
'3' => $row['CC']);
PHP5前,是可以正常使用的。
$A=array();
while($row = mysql_fetch_array($sql))
{
$A = array ( $x => array ( '1' => $row['AA'],
'2' => $row['BB'],
'3' => $row['CC']));
$x++;echo $A["1"]["1"];
echo $A["2"]["1"];
echo $A["3"]["1"];
}echo $A["1"]["1"];
echo $A["2"]["1"];
echo $A["3"]["1"];
while(...)
{
$a[]=Array(...);
}
print_r($a);
改成
$A[] = array ( $x => array ( '1' => $row['AA'],'2' => $row['BB'],'3' => $row['CC']));
怎么看你写的代码就别扭呢!
根本原因应该是每次重新定义了一个$A,可以写成这样
$A[] = array ( $x => array ( '1' => $row['AA'],
'2' => $row['BB'],
'3' => $row['CC']));
while($row = mysql_fetch_array($sql))
{
$A[$x] = array ( '1' => $row['AA'],
'2' => $row['BB'],
'3' => $row['CC']);
$x++;echo $A["1"]["1"];
echo $A["2"]["1"];
echo $A["3"]["1"];
}echo $A["1"]["1"];
echo $A["2"]["1"];
echo $A["3"]["1"];