解决PHP5.4版本以下json_encode转义中文的情况
解决PHP5.4版本以下json_encode转义中文的情况
_多么痛的领悟 发表于4个月前
解决PHP5.4版本以下json_encode转义中文的情况
  • 发表于 4个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: 在做微信开发的时候比较常用,列入用户标签等
function json_encode_ex($var) {
  if ($var === null)
      return 'null';

  if ($var === true)
      return 'true';
  if ($var === false)
      return 'false';
  static $reps = array(
      array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"', ),
      array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"', ),
  );
  if (is_scalar($var))
      return '"' . str_replace($reps[0], $reps[1], (string) $var) . '"';
  if (!is_array($var))
      throw new Exception('JSON encoder error!');
  $isMap = false;
  $i = 0;
  foreach (array_keys($var) as $k) {
      if (!is_int($k) || $i++ != $k) {
          $isMap = true;
          break;
      }
  }
  $s = array();
  if ($isMap) {
      foreach ($var as $k => $v)
          $s[] = '"' . $k . '":' . call_user_func(__FUNCTION__, $v);
      return '{' . implode(',', $s) . '}';
  } else {
      foreach ($var as $v)
          $s[] = call_user_func(__FUNCTION__, $v);
      return '[' . implode(',', $s) . ']';
  }
}
共有 人打赏支持
粉丝 0
博文 52
码字总数 8439
×
_多么痛的领悟
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: