Скажем, у вас есть такой массив …
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-адрес, чтобы вы могли проверить функцию http_build_query php
$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;
Похоже, вы строите строку запроса, я думаю, вы хотите использовать http_build_query()
:
$data = array( 'username' => 'someRandomValueAssigned', 'password' => 'someRandomValueAssigned', 'email' => 'someRandomValueAssigned', ); $query_string = http_build_query($data);
Это должно дать вам результат, который вы ищете.
http_build_query – Создать строку запроса в кодировке URL
$randomValue = array('username' => 'someValue' ); // same for other foreach($array as &$value){ $value = $value.'='.$randomValue[$value]; } echo implode('&', $array);