2016-07-10 43 views
0

在这里,我想创建一个查询字符串数组查询字符串数组等给出如下:产生在PHP

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 

我要动态地生成它。

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); 

但我对这个

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 

它是如何可能的结果? 在此先感谢

+0

你的查询字符串是怎样的? – nmnsud

+0

www.example.com?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 [] [数量] = 5 –

回答

1

我做了很多解决方法。但是,它应该真的有效。

$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); 
+0

谢谢亲爱的,..... :) –

0

该阵列内部为零索引。

$array = [1, 2, 3]; 

是内部

$array = [ 
    0 => 1, 
    1 => 2, 
    2 => 3 
] 

http_build_query将阵列的输出总是按键,即使你没有明确指定。