您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

son_encode替代函数php_json_encode

2024/5/13 2:19:55发布19次查看
由于json_encode函数需要php5.20以上版本才支持,php不支持json_encode如何也用上json的功能呢?有没有什么替代函数,替代函数是没有的,不过有人做了一个自定义的php_json_encode,使用中会出现什么样的问题还未可知.
[php]
function php_json_encode($arr)
{
    $json_str = ;
    if(is_array($arr))
    {
      $pure_array = true;
      $array_length = count($arr);
      for($i=0;$i<$array_length;$i++)
{
if(! isset($arr[$i]))
{
$pure_array = false;
break;
}
}
if($pure_array)
{
$json_str ="[";
$temp = array();
for($i=0;$i<$array_length;$i++)
{
$temp[] = sprintf("%s", php_json_encode($arr[$i]));
}
$json_str .= implode(",",$temp);
$json_str .="]";
}
else
{
$json_str ="{";
$temp = array();
foreach($arr as $key => $value)
        {
          $temp[] = sprintf(%s:%s, $key, php_json_encode($value));
        }
        $json_str .= implode(,,$temp);
        $json_str .=};
      }
    }
    else
    {
      if(is_string($arr))
      {
        $json_str = . json_encode_string($arr) . ;
      }
      else if(is_numeric($arr))
      {
        $json_str = $arr;
      }
      else
      {
        $json_str = . json_encode_string($arr) . ;
      }
    }
    return $json_str;
}
function json_encode_string($in_str) {
    mb_internal_encoding(utf-8);
    $convmap = array(0x80, 0xffff, 0, 0xffff);
    $str = ;
    for ($i = mb_strlen($in_str)-1; $i>=0; $i--) {
        $mb_char = mb_substr($in_str, $i, 1);
        if (mb_ereg(&#(\d+);, mb_encode_numericentity($mb_char, $convmap, utf-8), $match)) {
            $str = sprintf(\u%04x, $match[1]) . $str;
        } else {
            $str = $mb_char . $str;
        }
    }
    return $str;
}
[/php]
json_encode替代函数php_json_encode
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product