解决方案 »

  1.   

    $s = '{"phone":"1234567"}';$a = json_decode($s, 1);
    foreach($a as $k=>$v) $r[] = array('name' => $k, 'value' => $v);echo json_encode($r);
    [{"name":"phone","value":"1234567"}]
      

  2.   


    $a = '{"phone":"1234567"}';
    $ret = array();
    $arr = json_decode($a, true); 
    foreach($arr as $key=>$val){
        array_push($ret, array('name'=>$key,'value'=>$val));
    }echo json_encode($ret);
    [{"name":"phone","value":"1234567"}]
      

  3.   


    $s="'phone':'1234567'";
    $arr=explode(':',$s);
    for($i=0;$i<sizeof($arr);$i++){
        $item=array('name'=>current($arr),'value'=>next($arr));
        break;
    }
    echo json_encode($item);
    {"name":"'phone'","value":"'1234567'"}
      

  4.   

    [{"phone":"18511337033","name":"ggg","id_card":"123321123321"}]$sql ="select * from e_user where phone='18511337033'";
    $result = get_js_array($sql);
    $a = json_decode($result);
    foreach($a as $k=>$v) $r[] = array('name' => $k, 'value' => $v); 
    echo json_encode($r);
    echo $r;
    我是这么改写的。 但是我查出来以后就变成这样了
    [{"name":0,"value":{"phone":"18511337033","name":"ggg","id_card":"123321123321}}]Array我的get_js_array()是这么写的function get_js_array($sql){
    $result = mysql_query($sql);
    $arr = array();
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
    $arr[] = $row;  
    }
    $js = json_encode($arr);
    mysql_free_result($result);
    mysql_close($conn);
    return $js;
    }
    怎么修改
      

  5.   

    $s = '[{"phone":"18511337033","name":"ggg","id_card":"123321123321"}]';
    $a = json_decode($s, 1);foreach($a as $t) {
      $r = array();
      foreach($t as $k=>$v) $r[] = array('name' => $k, 'value' => $v);
      $res[] = $r;
    }echo json_encode($res);
    [[{"name":"phone","value":"18511337033"},{"name":"name","value":"ggg"},{"name":"id_card","value":"123321123321"}]]
      

  6.   


    。。现在还有个需求。。  就是怎么做才可以输出出来的不是两个[[{"name":"111","value":"222" }]],  
    只输出一个方括号[{"name":"111","value":"222" }]
      

  7.   


    。。现在还有个需求。。  就是怎么做才可以输出出来的不是两个[[{"name":"111","value":"222" }]],  
    只输出一个方括号[{"name":"111","value":"222" }]改這樣:
    $s = '[{"phone":"18511337033","name":"ggg","id_card":"123321123321"}]';
    $a = json_decode($s, 1);
     
    foreach($a as $t) {
      $r = array();
      foreach($t as $k=>$v) $r[] = array('name' => $k, 'value' => $v);
      $res[] = $r;
    }
     
    echo json_encode(array_pop($res));
    [{"name":"phone","value":"18511337033"},{"name":"name","value":"ggg"},{"name":"id_card","value":"123321123321"}]