このような配列があるとします...
username, password, email
そして、各要素に値を割り当てる必要があります。その後、これを次のような文字列にフォーマットする必要があります。
username=someRandomValueAssigned&password=someRandomValueAssigned&email=someRandomValueAssigned
どうすればいいですか?ありがとう。
$keys = array('username', 'password', 'email');
$values = array('someusername', 'somepassword', 'someemail');
$data = array_combine($keys, $values);
array_combineは、次のような連想配列を返します。
$data = array(
'username' => 'someusername',
'password' => 'somepassword',
'email' => 'someemail'
);
次に、単純な foreach ループを使用して、必要な結果を得ることができます
$str = '';
foreach($data as $k=>$v) {
$str .= $k > 0 ? '&' : '';
$str .= $k . '=' . $v ;
}
echo $str;
また、あなたは URL を作成しようとしていると思われるので、php のhttp_build_query関数をチェックしてみてください。
クエリ文字列を作成しているように見えますが、次を使用したいと思いますhttp_build_query()
:
$data = array(
'username' => 'someRandomValueAssigned',
'password' => 'someRandomValueAssigned',
'email' => 'someRandomValueAssigned',
);
$query_string = http_build_query($data);
これにより、探している結果が得られるはずです。
http_build_query — URL エンコードされたクエリ文字列を生成する
$array_value=array();
$array_value['username']=somevalue;
$array_value['password']=somevalue;
$array_value['email']=somevalue;
$array_str=array();
foreach($array_value as $key=>$value){
array_push($array_str,$key."=".$array_value[$value]);
}
$array_str=join("&",$array_str);
echo $array_str;
$randomValue = array('username' => 'someValue' ); // same for other
foreach($array as &$value){
$value = $value.'='.$randomValue[$value];
}
echo implode('&', $array);