为每个数组元素赋值 PHP

soo*_*oup 3 php arrays string element assign

假设你有一个这样的数组......

username, password, email
Run Code Online (Sandbox Code Playgroud)

并且您需要为每个元素分配一个值。之后,这需要格式化为这样的字符串:

username=someRandomValueAssigned&password=someRandomValueAssigned&email=someRandomValueAssigned
Run Code Online (Sandbox Code Playgroud)

我该怎么做?谢谢。

nai*_*vin 5

$keys = array('username', 'password', 'email');

$values = array('someusername', 'somepassword', 'someemail');

$data = array_combine($keys, $values);
Run Code Online (Sandbox Code Playgroud)

array_combine将返回一个关联数组,例如,

$data = array( 
          'username' => 'someusername',
          'password' => 'somepassword',
          'email' => 'someemail'
        );
Run Code Online (Sandbox Code Playgroud)

那么你想要的结果可以使用一个简单的 foreach 循环来实现

$str = '';

foreach($data as $k=>$v) {
   $str .= $k > 0 ? '&' : '';
   $str .= $k . '=' . $v ;
}

echo $str;
Run Code Online (Sandbox Code Playgroud)

另外,我怀疑您正在尝试构建一个 url,因此您可能想查看 php 的http_build_query函数