$json1 = <<<ETE
[
{"a":"ab"},
{"a":"da"},
{"a":"gf"},
{"a":"ta"},
{"a":"lc"},
{"a":"ea"},
{"a":"ij"},
{"a":"vb"},
{"a":"lp"},
{"a":"uw"},
{"a":"il"}
]
ETE;
$json2 = <<<ETE
[
{"a":"aa"},
{"a":"ca"},
{"a":"ga"},
{"a":"ha"},
{"a":"la"},
{"a":"oa"},
{"a":"aj"},
{"a":"vr"},
{"a":"pl"},
{"a":"di"},
{"a":"im"}
]
ETE;如何合并2个JSON数组?(没有decode的情况下)
array_merge 对JSON无效。有没有什么简易的函数,或者FUNCTION?

解决方案 »

  1.   

    json_decode,或者自己写处理函数吧
      

  2.   

    json格式的数据本身是一个字符串,如果如果不decode的话,可以尝试用字符串拼接方式。rtrim($json, '}') . ',' . ltrim($json2, '{')
      

  3.   


    $arr1 = array();
    $arr2 = array();
    $arr3 = array();$web=json_decode($json1);
    $arr1=json_to_array($web);
    $web=json_decode($json2);
    $arr2=json_to_array($web);$arr3 = array_merge($arr1,$arr2);
    echo "<pre>";
    print_r($arr3);function json_to_array($web){
    $arr=array();
    foreach($web as $k=>$w){
    if(is_object($w)) $arr[$k]=json_to_array($w); 
    else $arr[$k]=$w;
    }
    return $arr;
    }