2016-07-10 10 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 [] [qty] = 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]; 

あなたが明示的に指定しない場合でも、内部配列のhttp_build_queryは常に出力キー

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

です。

関連する問題