数据库字段 shopinfo 里信息是这样的绿色@@@/A/11/12/13/@@@/B/21/22/23/###蓝色@@@/A/31/32/33/@@@/B/41/42/43/###绿色@@@/A/51/52/53/@@@/B/61/62/63/怎么样才能变化成这样的格式呢<script language="javascript" type="text/javascript">
 var data={
 
        "黑色":[["A","B"],["11","12","13"],["21","22","23"]],
        "红色":[["A","B"],["31","32","33"],["41","42","43"]],
        "绿色":[["A","B"],["51","52","53"],["61","62","63"]],

    };
</script>

解决方案 »

  1.   

    json_encode($arr);  //数组转json
      

  2.   

    这是你的那个代码,我应该怎么加上: json_encode($arr); //数组转json$s="绿色@@@/A/11/12/13/@@@/B/21/22/23/###蓝色@@@/A/31/32/33/@@@/B/41/42/43/###绿色@@@/A/51/52/53/@@@/B/61/62/63/";
    foreach(explode('###',$s) as $v){
           $arr=explode('@@@',$v);
           $ar[array_shift($arr)]=$arr; 
    }
    print_r($ar);
      

  3.   

    echo json_encode($ar);   //加在最底下是什么结果
      

  4.   

    {null:["\/A\/51\/52\/53\/","\/B\/61\/62\/63\/"],null:["\/A\/31\/32\/33\/","\/B\/41\/42\/43\/"]} 
      

  5.   

    $s="绿色@@@/A/11/12/13/@@@/B/21/22/23/###蓝色@@@/A/31/32/33/@@@/B/41/42/43/###绿色@@@/A/51/52/53/@@@/B/61/62/63/";
    foreach(explode('###',$s) as $v){
           $arr=explode('@@@',$v);
           $ar[array_shift($arr)]=$arr; 
    }
    echo json_encode($ar); 得出这样的结果,不对呀,怎么修改??{null:["\/A\/51\/52\/53\/","\/B\/61\/62\/63\/"],null:["\/A\/31\/32\/33\/","\/B\/41\/42\/43\/"]}
      

  6.   

    $s="黑色@@@/A/11/12/13/@@@/B/21/22/23/###红色@@@/A/31/32/33/@@@/B/41/42/43/###绿色@@@/A/51/52/53/@@@/B/61/62/63/";
    foreach(explode('###',$s) as $v){
      $arr = explode('@@@/',$v);
      $k = array_shift($arr);
      $p = $q = array();
      foreach($arr as $r) {
        $t = explode('/', trim($r, '/'));
        $p[] = array_shift($t);
        $q[] = $t;
      }
      $ar[$k] = array_merge(array($p), $q);  
    }
    print_r($ar);Array
    (
        [黑色] => Array
            (
                [0] => Array
                    (
                        [0] => A
                        [1] => B
                    )            [1] => Array
                    (
                        [0] => 11
                        [1] => 12
                        [2] => 13
                    )            [2] => Array
                    (
                        [0] => 21
                        [1] => 22
                        [2] => 23
                    )        )    [红色] => Array
            (
                [0] => Array
                    (
                        [0] => A
                        [1] => B
                    )            [1] => Array
                    (
                        [0] => 31
                        [1] => 32
                        [2] => 33
                    )            [2] => Array
                    (
                        [0] => 41
                        [1] => 42
                        [2] => 43
                    )        )    [绿色] => Array
            (
                [0] => Array
                    (
                        [0] => A
                        [1] => B
                    )            [1] => Array
                    (
                        [0] => 51
                        [1] => 52
                        [2] => 53
                    )            [2] => Array
                    (
                        [0] => 61
                        [1] => 62
                        [2] => 63
                    )        ))
      

  7.   

    $s="黑色@@@/A/11/12/13/@@@/B/21/22/23/###红色@@@/A/31/32/33/@@@/B/41/42/43/###绿色@@@/A/51/52/53/@@@/B/61/62/63/";
    foreach(explode('###',$s) as $v){
      $arr = explode('@@@/',$v);
      $k = array_shift($arr);
      $p = $q = array();
      foreach($arr as $r) {
        $t = explode('/', trim($r, '/'));
        $p[] = array_shift($t);
        $q[] = $t;
      }
      $ar[$k] = array_merge(array($p), $q);  
    }
    //$shopinfo=print_r($ar);
    echo json_encode($ar);/*{
        null:[["A","B"],["11","12","13"],["21","22","23"]],
        null:[["A","B"],["31","32","33"],["41","42","43"]],
        null:[["A","B"],["51","52","53"],["61","62","63"]]
    }
    中文成了 null 怎么转化呢?
      

  8.   

    中文丢失,是因为不是 utf-8 编码的原因连接数据库后,执行
    mysql_query('set name utf8');
    即可在其后取得 utf-8 编码的数据,再做成 json 就没有问题了