我正在使用第三方API来接收必须编码的几个参数:
text[]=Hello%20World&text[]=How%20are%20you?&html[]=<p>Just%20fine,%20thank%20you</p>
您可以看到这个API可以接受文本的多个参数,也可以接受HTML(不在示例调用中).
我使用http_build_query来正确构建其他API的查询字符串
$params['text'][] = 'Hello World'; $params['text'][] = 'How are you?'; $params['html'][] = '<p>Just fine,thank you</p>'; $http_query = http_build_query($params);
text [0] = Hello World& text [1] =你好吗?& html [0] =< p>好的,谢谢< / p>
不幸的是,我正在使用的API不喜欢数字索引并失败.
谢谢
似乎没有办法通过http_build_query来做到这一点.抱歉.在docs页面上,有人说:
原文链接:https://www.f2er.com/php/131372.htmlfunction cr_post($a,$b=0,$c=0){ if (!is_array($a)) return false; foreach ((array)$a as $k=>$v){ if ($c) $k=$b."[]"; elseif (is_int($k)) $k=$b.$k; if (is_array($v)||is_object($v)) { $r[]=cr_post($v,$k,1);continue; } $r[]=urlencode($k)."=" .urlencode($v); } return implode("&",$r); } $params['text'][] = 'Hello World'; $params['text'][] = 'How are you?'; $params['html'][] = '<p>Just fine,thank you</p>'; $str = cr_post($params); echo $str;
我没有测试过.如果不行,那么你将不得不自己滚动.也许你可以发布一个github要点,以便其他人可以使用它!