2015年3月26日 14:14:16

PHP的json函数对几个特殊值的处理笔记

 <?php
//----------编码
$a = array();
$b = json_encode($a);
var_dump($b); // string(2)"[]", 中括号
echo '<br>'; $e = '';
$f = json_encode($e);
var_dump($f);// string(2)"""", 一对双引号
echo '<br>'; $k = NULL;
$l = json_encode($k);
var_dump($l);// string(4) "null"
echo '<br>'; //---------解码
$g = '[]';
$h = json_decode($g);
var_dump($h); // array(), 空数组
echo '<br>'; $i = '""';
$j = json_decode($i);
var_dump($j); // string(0)"" ,返回空字符串
echo '<br>'; $c = '';
$d = json_decode($c);
var_dump($d); // NULL
echo '<br>'; $m = NULL;
$n = json_decode($m);
var_dump($n); // NULL
echo '<br>'; $q = 'null';
$r = json_decode($q);
var_dump($r); // NULL
echo '<br>'; $o = array();
$p = json_decode($o); // Warning: json_decode() expects parameter 1 to be string ^_^
var_dump($p); // NULL
echo '<br>';

$a = json_decode(false);
var_dump($a); // NULL

// 解析不合法的json

error_reporting(E_ALL);
$a = '{"abc":"e';
$b = json_decode($a, true);
var_dump($b); // NUll

PHP json_encode / json_decode的更多相关文章

  1. PHP json_encode/json_decode与serialize/unserializ性能测

    PHP里面,有时候出于实际需求考虑,需要将某些信息以数组的方式进行存储,甚至有时候介于数组.字符串两者之间,很难确定是数组还是字符串,如果最终还需要将这些信息存储到文件系统中,而且要保证正确无误的存储 ...

  2. php 序列化储存和转化 json_encode() json_decode($q,true)

    序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性. 例如:当需要数据库只有一个 ...

  3. php model与json_encode/json_decode

    常用于model的操作,看看就知道了 <?php class UserModel { var $user_id = 0; var $user_name = ''; var $user_email ...

  4. PHP多种序列化/反序列化的方法 json_encode json_decode

    序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性. 1. serialize和 ...

  5. Json处理函数json_encode json_decode

    json_decode — 对 JSON 格式的字符串进行编码 mixed json_decode ( string $json [, bool $assoc = false [, int $dept ...

  6. 原来 php 中的 json_encode() 只支持utf-8.不支持gbk啊

    原文地址:在gbk/gb2312编码中如何使用json_encode/json_decode

  7. PHP常用函数整理

    推荐网址:http://php.net/manual/zh/http://www.w3cschool.cc/php/php-ref-array.html 错误报告: error_reporting(E ...

  8. PHP中的__toString方法(实现JS里的链式操作)

    _toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be co ...

  9. PHP5各个版本的新功能和新特性总结

    因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征 本文目录:PHP5.2 以前:auto ...

随机推荐

  1. android-android获取navigationview 上的控件id

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); View headerView = navi ...

  2. 如何在editplus中配置ctags?

    首先要说明的是, 在editPlus中的ctags功能确实是没有 vs vim等中的好用. 最主要的原因 是它不能直接在文件中 跳转. 而是要通过一个另外的框来实现, 这就大大的降低了跳转的速度和使用 ...

  3. VTK初学一,c_Line_CellArray线段的CellArray绘制

    VTK窗口默认坐标方向: #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE ...

  4. nyoj 236心急的C小加 动态规划( java)

    sort函数用法: #include<algorithm> using namespace std; sort(a,a+len;cmp)    //a-->数组名,    len-- ...

  5. [C++基础]关于对象的创建及内存分配

    测试: #include <stdio.h>#include <QDebug> class KPoint{public: KPoint(int x, int y){ nx = ...

  6. 【转】MySQL数据类型和常用字段属性总结

    来源:http://www.jb51.net/article/55853.htm 这里先总结数据类型.MySQL中的数据类型大的方面来分,可以分为:日期和时间.数值,以及字符串.下面就分开来进行总结. ...

  7. WordPress文章浏览历史插件

    选自:http://www.ludou.org/wordpress-recently-viewed.html 最近有很多网友问我,露兜博客右边栏底部的 您刚刚看过 栏目是怎么实现.其实我也是参考的这篇 ...

  8. cocos2dx中对象的两步初始化

    笔者进来开始研究cocos2d这个非常火爆的游戏引擎,在一番折腾后,总算在win7系统下把windows和android平台搭建好了.当然接下来是从官方示例中最简单的HelloCpp项目开始.笔者使用 ...

  9. 为 Github 创造 Integration

    导读 现在你可以从我们的 集成件目录里面找到更多工具.这个目录目前有超过 15 个分类 — 从 API 管理 到 应用监控, Github 的集成件可以支持您的开发周期的每一个阶段. 我们邀请了具有不 ...

  10. 导航栏的坑 (导航透明/导航除线/titleIView)

    //以下四个条件缺一不可 /.必须是半透明状态 self.navigationBar.translucent = YES; //2.导航栏背景图片为空图片 (不可以设置backgroundColor或 ...