douhan9619 2016-07-10 14:59
浏览 31
已采纳

在php中为查询字符串生成数组

Here I want to create an array for query string like given below:

item[]['item_id']=I00001&item[]['rate']=10.52&item[]['qty']=2&
item[]['item_id']=I52124&item[]['rate']=15.00&item[]['qty']=1&
item[]['item_id']=I62124&item[]['rate']=8.20&item[]['qty']=5

I want to generate it dynamically.

for($i = 0 ; $i< count($allitems) ;$i++){
    $itemid =  explode('~',$allitems[$i]);
    $arrdet[]=["'item_id'"=>$itemid[0],"'rate'"=>$itemid[1],"'qty'" =>$itemid[2]];  
    $item['item'] = array_merge($arrdet);
    //$item['item'][]=["'item_id'"=>$itemid[0],"'rate'"=>$itemid[1],"'qty'" =>$itemid[2]];
} 
echo  http_build_query($item);

but my result for this

item[0]['item_id']=I00001&item[0]['rate']=10.52&item[0]['qty']=2&   
item[1]['item_id']=I52124&item[1]['rate']=15.00&item[1]['qty']=1&
item[2]['item_id']=I62124&item[2]['rate']=8.20&item[2]['qty']=5

How it Possible? Thanks in advance

  • 写回答

2条回答 默认 最新

  • doutong7216 2016-07-10 15:40
    关注

    I did so much workarounds. But, it should actually works.

    $countAllitems = count($allitems);
    $arr = array();
    $items = array();
    $query = array();
    for($i = 0 ; $i< $countAllItems; $i++){
        $itemid =  explode('~',$allitems[$i]);
    
        $arr['item_id'] = $itemid[0];
        $arr['rate'] = $itemid[1];
        $arr['qty'] = $itemid[2];
    
        //Assign the array to another array with key 'item[]'
        $items['item[]'] = $arr;
    
        //Build the array to http query and assign to another array
        $query[] = http_build_query($items);
    }
    
    //Implode the stored http queries
    echo implode('&', $query);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥15 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)