首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP多维数组算法?

PHP多维数组算法?
EN

Stack Overflow用户
提问于 2011-11-18 10:33:09
回答 2查看 267关注 0票数 4

我需要形成如下格式的多维数组,但是我无法计算出算法

代码语言:javascript
复制
array(
      [0]=>array(
            "id"=>"1","data"=>array([0]=>array("kid"=>"434","k"=>"Ali","m"=>"msj1"), [1]=>array("kid"=>"344","k"=>"Dali","m"=>"msj3")),
      [1]=>array(
            "id"=>"2","data"=>array([0]=>array("kid"=>"347","k"=>"Cenk","m"=>"msj2"), [1]=>array("kid"=>"345","k"=>"Tan","m"=>"msj4")))

数据来自mysql查询,如下所示:

从table1选择rid=1 ORDER BY ( id )中的rid=1,k,m,id

样本数据:

代码语言:javascript
复制
id   kid   k    m
1    434  Ali  msj1
2    347  Cenk msj2
1    344  Dali msj3
2    345  Tan  msj4

php循环如下:

代码语言:javascript
复制
do {
//whatever I tried here failed :(
} while ($t = mysql_fetch_assoc($r_tav));

我希望我能更好地理解这个示例中的多维数组。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-18 11:06:36

代码语言:javascript
复制
$arrRows = mysql_fetch_array($r_tav);
$arrRowData = array();
$arrRowDataFinal = array();
foreach ($arrRows as $key => $value){
    $arrRowData[$value['id']][] = array("kid"=>$value['kid'],"k"=>$value['k'],"m"=>$value['m']);
}
foreach($arrRowData as $key => $value){
    $arrRowDataFinal[] = array('id' => $key, 'data' => $value);
}
票数 4
EN

Stack Overflow用户

发布于 2011-11-18 10:36:48

你想要的似乎是:

代码语言:javascript
复制
while ($t = mysql_fetch_assoc($r_tav)){
    $arr[] = $t;
}

$arr将包含您的数组

在重新阅读这个问题之后,它似乎并不完全是你想要的结构,但它可以简单地转化为:

代码语言:javascript
复制
while ($t = mysql_fetch_assoc($r_tav)){
    $arr[] = array('id' => $r_tav['id'],
                   'data' => array('kid' => $r_tav['kid'],
                                    'k' => $r_tav['k'],
                                    'm' => $r_tav['m']));
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8181015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档