如何在http_build_query中强制空间到%20?

时间:2017-01-09 09:48:30

标签: php json http-headers

我遇到一个问题,即API端点需要一个int left = max - ((1 << j+1) - 1); 替换其中一个空格的参数。例如:

%20

如果我写$params = array( 'client_id' => self::$client_id, 'scope' => 'api%20offline_access', //here I need the %20 sign 'response_type' => 'code', 'redirect_uri' => self::$redirect_uri ); ,则在将空格传递给'scope' => 'api offline_access'函数时会将其转换为+符号。

如果我保持它在上面,那么标志是&#34;包裹&#34;有更多迹象

我试着在功能手册中找到这个答案,但没有运气

2 个答案:

答案 0 :(得分:6)

@Paul回复说:

http_build_query($params, null, null, PHP_QUERY_RFC3986);

根据php enc_type参数。

答案 1 :(得分:0)

修复上层评论

http_build_query($params, null, '&', PHP_QUERY_RFC3986);

如果 3-rd param (arg_separator) 更改为 null,则查询字符串粘在一起。

file.php?query=firstpass=12345admin=root //no arg_separator

file.php?query=first&pass=12345&admin=root //arg_separator