json_encode替代函数

<?php

function jsonEncode($var) {

    if (function_exists(‘json_encode‘)) {

        return json_encode($var);

    else {

        switch (gettype($var)) {

            case ‘boolean‘:

                return $var ‘true‘ ‘false‘// Lowercase necessary!

            case ‘integer‘:

            case ‘double‘:

                return $var;

            case ‘resource‘:

            case ‘string‘:

                return ‘"‘str_replace(array("\r", "\n", "<", ">", "&"),

                    array(‘\r‘‘\n‘‘\x3c‘‘\x3e‘‘\x26‘),

                    addslashes($var)) .‘"‘;

            case ‘array‘:

                // Arrays in JSON can‘t be associative. If the array is empty or if it

                // has sequential whole number keys starting with 0, it‘s not associative

                // so we can go ahead and convert it as an array.

                if (empty ($var) || array_keys($var) === range(0, sizeof($var) - 1)) {

                    $output array();

                    foreach ($var as $v) {

                        $output[] = jsonEncode($v);

                    }

                    return ‘[ ‘. implode(‘, ‘$output) .‘ ]‘;

                }

                // Otherwise, fall through to convert the array as an object.

            case ‘object‘:

                $output array();

                foreach ($var as $k => $v) {

                    $output[] = jsonEncode(strval($k)) .‘: ‘. jsonEncode($v);

                }

                return ‘{ ‘. implode(‘, ‘$output) .‘ }‘;

            default:

                return ‘null‘;

        }

    }

}

$arr=array(‘name‘=>‘CSDN论坛‘,‘degree‘=>‘numberone‘);

echo jsonEncode($arr);

?>

转载地址:http://blog.csdn.net/ktz666/article/details/7593040

时间: 2024-10-29 00:24:01

json_encode替代函数的相关文章

php json_encode 替代方法 (亦可显示中文)

原文网址:http://justcoding.iteye.com/blog/974631 json_encode在ajax应用的开发里是必不可少的一个函数,但是json_encode的使用条件是比较苛刻的,需要在php 5.2.0以上并且需要PECL json在1.2.0以上才可以使用. 其实json_encode的替代方法在网上有很多,这里提供一个在php在线手册里看到的一个简单的函数,已经通过测试. function jsonEncode($var) { if (function_exist

json_decode的替代函数

function json_decode2($json) { $comment = false; $out = '$x='; for ($i=0; $i<strlen($json); $i++){ if (!$comment){ if (($json[$i] == '{') || ($json[$i] == '[')) $out .= ' array('; else if (($json[$i] == '}') || ($json[$i] == ']')) $out .= ')'; else i

对于linux下system()函数的深度理解(整理)

对于linux下system()函数的深度理解(整理) (2013-02-07 08:58:54) 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为是其他的代码影响到这个,或是内核驱动文件系统什么的异常导致,昨天有出现了这个问题,就随手百了一下度,问题出现了,很多人都说system()函数要慎用要少用要能不用则不用,system()函数不稳定?

【函数】Oracle函数系列(1)--字符函数

[函数]Oracle函数系列(1)--字符函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 常见字符函数(lower.upper.initcap.concat.substr.length.intr.lpad.rpad.trim.chr.ascii.replace.translate)的使用 ② 判断字符串中是否含有汉字 ③ substr和instr的联合使用 ④

javascript函数及作用域的小结

在js中使用函数注意三点:1.函数被调用时,它是运行在他被声明时的语法环境中的: 2.函数自己无法运行,它总是被对象调用的,函数运行时,函数体内的this指针指向调用该函数的对象,如果调用函数时没有明确指定该对象, this 默认指向 window ( strict 模式除外,本文不涉及 strict 模式): 3.函数是一种带有可执行代码的对象类型数据. 一.声明函数 1.使用 function 关键字 代码如下: function myfun(a,b){ //声明名为myfun的函数 ret

PHP中的安全函数

安全是编程非常重要的一个方面.在任何一种编程语言中,都提供了许多的函数或者模块来确保程序的安全性.在现代网站应用中,经常要获取来自世界各地用户的输入,但是,我们都知道“永远不能相信那些用户输入的数据”.所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数.今天,我们就来看看,在著名的开源语言PHP中有哪些有用的安全函数. 在PHP中,有些很有用的函数开源非常方便的防止你的网站遭受各种攻击,例如SQL注入攻击,XSS(Cross Site Scripting:跨站脚本)攻击等.一起看看

COM接口函数通用Hook方法

本文是我的本科学位论文, 今发表在此, 以示原创之据 第1章 绪论 研究背景 研究意义 相关技术简介 COM概述 COM内存模型描述及C语言和C++语言实现 调用约定 Hook API原理 Windows钩子原理及进程注入 开发及调试环境 第2章 问题抽象及关键技术研究 实验01:通过调试器查看C++类的虚函数表 实验02:通过函数指针调用C++虚函数 实验03:交换两个相同C++类的虚函数表 实验04-1:替换C++虚函数表中的虚函数(__thiscall)地址 实验04-2:替换C++虚函数

利用Excel函数多角度计算个人所得税

新个税征收方法已与2011年9月1日起施行,但计算方法变更改后,有关这方面的计算方法在网络论坛上讨论较多,但在新旧交替时期正误混杂,新人难以分辨.在现实中根本就找不到这方面的经典计算方法,ExcelHome论坛超级版主.微软最有价值专家MVP黄成武归纳总结一下计算方法,最终目的是给大家拓展函数使用的技巧和思路,在陶醉于函数奇妙.经典的运用中,感叹Excel博大精深,同时又是加强练习Excel函数的绝佳机会. 一.个税计算最新税率表 级数 全月应纳税所得额 税率 扣除数 1       不超过15

SQL内置函数

一.字符型函数(只是记录一些容易忘记的基本函数) 1.大小写转换函数 INITCAP:将字符串中每一个单词的第一个字母转换为大写,其他均为小写 SELECT INITCAP(column) FROM DUAL2.字符串处理函数 INSTR:从一个字符串中查找一个给定字符的数字位置 SELECT INSTR(String,'K') FROM DUAL LPAD:用给定的字符从左填充字符串到给定的长度 RPAD:用给定的字符从又填充字符串到给定的长度 3.字符串替代函数 REPLACE(string