olga 发表于 2017-4-3 11:20:04

php<5.2 使用json函数

//php<5.2 json替换函数if (!function_exists('json_encode')){function json_encode($a=false){if (is_null($a)) return 'null';if ($a === false) return 'false';if ($a === true) return 'true';if (is_scalar($a)){if (is_float($a)){// Always use "." for floats.return floatval(str_replace(",", ".", strval($a)));}if (is_string($a)){static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));return '"' . str_replace($jsonReplaces, $jsonReplaces, $a) . '"';}elsereturn $a;}$isList = true;for ($i = 0, reset($a); $i < count($a); $i++, next($a)){if (key($a) !== $i){$isList = false;break;}}$result = array();if ($isList){foreach ($a as $v) $result[] = json_encode($v);return '[' . join(',', $result) . ']';}else{foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);return '{' . join(',', $result) . '}';}}}if ( !function_exists('json_decode') ){function json_decode($json){$comment = false;$out = '$x=';for ($i=0; $i<strlen($json); $i++){if (!$comment){if ($json[$i] == '{')      $out .= ' array(';else if ($json[$i] == '}')    $out .= ')';else if ($json[$i] == ':')    $out .= '=>';else                         $out .= $json[$i];}else $out .= $json[$i];if ($json[$i] == '"')    $comment = !$comment;}eval($out . ';');return $x;}}
页: [1]
查看完整版本: php<5.2 使用json函数