test.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace loyalsoft;
  3. include __DIR__ . '/main.php';
  4. //require_once ROOTDIR . '/Util/OpenSSLVerify.php'; # Ps. 这个文件和类名没有对应关系.
  5. //header('X-Accel-Buffering: no'); # nginx 控制头, 关闭buffer
  6. //set_time_limit(15); # 设置执行超时时间
  7. echoLine("phpver:" . PHP_VERSION);
  8. /**
  9. * 从参数构造请求串
  10. * @param type $params 如果是字符串直接返回,(关联)数组或者object(仅取public字段)
  11. * @return string 编码规范-RFC3986
  12. */
  13. function makeQueryString2($params) {
  14. if (is_string($params)) {
  15. return $params;
  16. }
  17. return http_build_query($params, "", '&', PHP_QUERY_RFC3986); # 3986
  18. }
  19. function makeQueryString($params) {
  20. if (is_string($params)) {
  21. return $params;
  22. }
  23. $querys = array();
  24. foreach ($params as $key => $value) {
  25. array_push($querys, rawurlencode($key) . '=' . rawurlencode($value));
  26. }
  27. $query_string = join('&', $querys);
  28. return $query_string;
  29. }
  30. $data = array('uid' => "1234567-ylsj",
  31. 'name' => "王刚",
  32. );
  33. test(function() {
  34. makeQueryString($data);
  35. });
  36. test(function() {
  37. makeQueryString2($data);
  38. });
  39. test(function() {
  40. makeQueryString($data);
  41. });
  42. test(function() {
  43. makeQueryString2($data);
  44. });
  45. $str = makeQueryString($data);
  46. var_dump(makeQueryString($str));
  47. var_dump(makeQueryString2($str));