php 定义二维数组 并循环箱二维数组赋值 不知道我这样写程序对不对 请高人指点

我的程序如下:$szx=array();//我想定义两个二维数组szx和szy$szy=array();for($i=0;$i<2;i++)//用for循环对他们赋值{$... 我的程序如下:
$szx=array(); //我想定义两个二维数组 szx 和szy
$szy=array();
for($i=0;$i<2;i++) //用for循环对他们赋值
{
$j=$i+1;
$sql6="select x,y from data ;"; //从数据库取出数据
$res6=mysql_query($res6);
while($row6=mysql_fetch_array($res6))
{
array_push($szx[i][], $row['x']); //分别放入这两个二维数组的第i行
array_push($szy[i][], $row['y']);
$arrxjs=json_encode($szx); //然后我想直接把它转成json_encode 以便以后赋给js的二维数组
$arryjs=json_encode($szy);
}
}

因为之后还有很多其他的程序 所以我不知道错误出在哪里 所以想请前辈看下这样写对不对 先谢啦
展开
 我来答
百度网友a19d193
推荐于2018-04-26 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1444万
展开全部

你例子中的代码我并没有看出有什么需要二维数组的地方,两个一维数组就行了啊。我写给你看一下

$szx = array();
$szy = array();
$sql = "select x, y from data";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)) {
    $szx[] = $row['x'];
    $szy[] = $row['y'];
}
$arrxjs = json_encode($szx);
$arryjs = json_encode($szy);


至于你的代码的问题如下

  1. $sql6="select x,y from data ;"; 里面最好不要有分号, $sql6 = "select x,y from data";就行了

  2. mysql_query($sql6); 你写成了mysql_query($res6)

  3. $szx[i][] 应该修改为 $szx[$i][];

  4. array_push($szx[$i], '值') 和 $szx[$i][] = '值' 是等价的,因此你连用它们会导致$szx变成三维数组,正确为array_push($szx[$i], $row['x'])或者$szx[$i][] = $row['x'];

  5. $arrxjs和$arryjs只要在while循环外执行一次就行了

  6. for循环没什么意义吧,我没看到你使用$j啊。或者你贴的代码不全

追问
对对 我没贴全代码 
$sql6="select x,y from data where imei='$im' and timestamp='$zero_point[$j]' order by timestamp desc";这就是我没贴全的地方 我嫌它太长了 结果忘了还有$i $j 其他地方我照您说的改了 多谢提点啊
追答
哦,不客气
随性亻
2013-05-27 · TA获得超过4180个赞
知道小有建树答主
回答量:4622
采纳率:84%
帮助的人:635万
展开全部
不知道你的二维数组是什么样的,但是array_push($szx[i][], $row['x']); 你的这个地方写错了。

[i][]两个中括号里面必须都有数字,而且应该是$i,而不是i.

你可以换成:
$szx[$i][$j]=$row['x'];
$szy[$i][$j]=$row['y'];,
这样就是一个二维的数组,你把$i,和$j改一下就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式