duanrao3371 2014-11-20 06:16
浏览 41
已采纳

PHP改变数组结构和设置状态

PHP Code:

foreach ($fetch_res as $res){

        echo '<pre>';print_r($res);
}

Array generated:

Array
(
    [USERID] => 13663
    [PROJID] => 999
    [ENTRYDATE] => 13-NOV-14
    [STARTDATE] => 01-NOV-14
    [ENDDATE] => 20-NOV-14
    [ACTIVE] => 123
    [ALLOCATION] => 456
)

Array
(
    [USERID] => 13664
    [PROJID] => 999
    [ENTRYDATE] => 13-NOV-14
    [STARTDATE] => 01-NOV-14
    [ENDDATE] => 20-NOV-14
    [ACTIVE] => 124
    [ALLOCATION] => 457
)

whereas following fields have respective ID's and status based on ID's

ALLOCATION - 456(Y) / DEALLOCAION - 457(N) 
ACTIVE - 123(Y) / INACTIVE - 124(N)

Using the above information, how can I generate below required array format

array("ProjId"=>999,
      "RS"=>array( //ALLOCATION ACTIVE
         0=>array("13663","N","Y")
         1=>array("13664","N","Y")
     )
);

RS is the resource ID where N and Y indicates the status.

Thanks.

  • 写回答

2条回答 默认 最新

  • douzi2749 2014-11-20 06:29
    关注
    $data = array();
    foreach ($fetch_res as $res){
        $data['ProjId'] = $res['PROJID'];
        $data['RS'][] = array($res['USERID'], ($res['ALLOCATION'] == 456) ? "Y" : "N", ($res['ALLOCATION'] == 123) ? "Y" : "N");
    }
    

    If you need it as string then -

    $data['RS'][] = '"'.$res['USERID'].','. ($res['ALLOCATION'] == 456) ? "Y" : "N".','. ($res['ALLOCATION'] == 123) ? "Y" : "N".'"';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献