php实现数组中索引关联数据转换成json对象的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php实现数组中索引关联数据转换成json对象的方法。分享给大家供大家参考。具体实现方法如下:

public static function encode(&$var)
{
 return '{'.implode(',',self::encodeExcute($var)).'}';
}
private static function encodeExcute(&$var)
{
 $json = array();
 switch (gettype($var))
 {
  case 'array':
   foreach($var as $key=>$value)
   {
    if(is_array($value))
    {
     $json[] = '"'.$key.'":{'.implode(',',self::encodeExcute($value)).'}';
     //$json[$key] = self::encode($value);
    } elseif (is_object($value)) {
     $json[] = "\\"{$key}\\":".json_encode($value->attributes);
    } else {
     echo 'ERROR 未知类型,还未解析';
     Yii::app()->end();
    }
   }
   break;
  case 'object':
   break;
 }
 return $json;
}

希望本文所述对大家的php程序设计有所帮助。

相关文章

linux下为php添加curl扩展的方法

步骤如下: 1. 进到对应扩展目录 # cd /usr/local/src/php-5.2.12/ext/curl 2. 调用phpize程序生成编译配置文件 # /usr/local/...

相对路径转化成绝对路径

提取 Gregarius中的一个函数。可以把网页中的相对路径自动转化成绝对路径。 <?  function relative_to_absolute(...

深入解析phpCB批量转换的代码示例

我们在使用PHP语言的时候会遇到转换图片文件的需求。如果实现批量转换的话,就能节约大量的时间。下面我们就为大家具体讲解有关phpCB批量转换的方法。最近需要整理一个整站的php代码规范视...

解析PHP自带的进位制之间的转换函数

bindec() -- 二进制转换为十进制 decbin() -- 十进制转换为二进制 dechex() -- 十进制转换为十六进制 decoct() -- 十进制转换为八进制 hexd...

利用Laravel事件系统如何实现登录日志的记录详解

本文介绍的是利用Laravel事件系统实现登录日志记录的相关内容,分享出来给大家参考,下面来看看详细的介绍: 明确需求 记录一个登录日志,通常需要下列信息: 客户端Agent信息...