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

yipeiwu_com5年前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中4个加速、缓存扩展的区别和选用建议

折腾VPS的朋友,在安装好LNMP等Web运行环境后都会选择一些缓存扩展安装以提高PHP运行速度,常被人介绍的有eAccelerator、memcached、xcache、Alterna...

解析关于wamp启动是80端口被占用的问题

解析关于wamp启动是80端口被占用的问题

问题如下:网上有关于这个处理办法,说道:VS2010在更新了SP1后,会在开机时自动启动一个服务,占用WAMP的80端口,导致WAMP无法正常启动Apache。提示信息:Your por...

jquery获取多个checkbox的值异步提交给php的方法

本文实例讲述了jquery获取多个checkbox的值异步提交给php的方法。分享给大家供大家参考。具体实现方法如下: html代码: <tr> <td>...

深入解析PHP的Yii框架中的缓存功能

数据缓存是指将一些 PHP 变量存储到缓存中,使用时再从缓存中取回。它也是更高级缓存特性的基础,例如查询缓存和内容缓存。 如下代码是一个典型的数据缓存使用模式。其中 $cache 指向缓...

PHP多个图片压缩成ZIP的方法

 本文实例为大家分享了PHP多个图片压缩成ZIP的具体代码,供大家参考,具体内容如下 可将多个文件压缩成一个zip压缩包,文件名可自定义(兼容中文文件名) <?...