回复讨论(解决方案)
$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"}]
$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"}]
$s="'phone':'1234567'";$arr=explode(':',$s);for($i=0;$icurrent($arr),'value'=>next($arr)); break;}echo json_encode($item); {"name":"'phone'","value":"'1234567'"}
$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"}] [{"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;} 怎么修改
$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"}]]
$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"}]] 。。现在还有个需求。。 就是怎么做才可以输出出来的不是两个[[{"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($res);[[{"name":"phone","value":"18511337033"},{"name":"name","value":"ggg"},{"name":"id_card","value":"123321123321"}]] 。。现在还有个需求。。 就是怎么做才可以输出出来的不是两个[[{"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"}]