0
$array = array('username' => 'mainytype','password' => 'abc1234','phone' =>     '7023451287');
$count = 0;

foreach($array as $k => $v){
   $count++;
   $new_data['info'.$count] = array("input[$k]=".$v);
}


print_r($new_data);

$ty = http_build_query($new_data);
print_r($ty);

?>

// print_r($new_data):
 Array ( [info1] => Array ( [0] => input[username]=mainytype ) [info2] => Array ( [0]     => input[password]=abc1234 ) [info3] => Array ( [0] => input[phone]=7023452134 ) ) 

//print_r($ty);
info1%5B0%5D=input%5Busername%5D%3Dmainytype&info2%5B0%5D=input%5Bpassword    %5D%3Dabc1234&info3%5B0%5D=input%5Bphone%5D%3D7023452134

私はそれがforeach3つの別々の配列を構築すると思います。の結果は理解してい http_build_query()ますが、次のようにしたいと思います。

input%5Busername%5D=mainytype&input%5Bpassword%5D=abc1234&input%5Bphone%5D=7023451287
4

2 に答える 2

1

これにより、必要な結果が得られるはずです。

$array = array(
    'username' => 'mainytype',
    'password' => 'abc1234',
    'phone'    => '7023451287'
);

$new_data = array('input' => $array);

print_r($new_data);

$ty = http_build_query($new_data);
echo($ty);

http_build_queryネストされた配列に問題はありません。

于 2013-04-29T04:36:16.860 に答える