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程序设计有所帮助。

相关文章

PHP中抽象类和抽象方法概念与用法分析

PHP中抽象类和抽象方法概念与用法分析

本文实例讲述了PHP中抽象类和抽象方法。分享给大家供大家参考,具体如下: 一、抽象关键字 :abstract 抽象就是无法确切的说明,但又有一定的概念或者名称,在PHP中声明一个抽象类或...

PHP 命名空间实例说明

复制代码 代码如下:namespace bak\ba\ba; function bab(){ echo "bi"; } namespace kkk; function k1(){ ech...

PHP扩展Swoole实现实时异步任务队列示例

本文实例讲述了PHP扩展Swoole实现实时异步任务队列。分享给大家供大家参考,具体如下: 假如要发100封邮件,for循环100遍,用户直接揭竿而起,什么破网站! 但实际上,我们很可能...

解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思

PHP现在推出5.3.0版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。首先我来解答: VC6是什么?VC6就是legacy Visual Studio...

php时间不正确的解决方法

2。date_default_timezone_set("PRC");    3。PHP   5.1以上  ...