ホームページ >バックエンド開発 >PHPチュートリアル >PHPでデータベースデータをJSON形式に変換する方法。たとえば、「phone」:「123456」を「name」:「phone」、「value」:「123456」に変更します。

PHPでデータベースデータをJSON形式に変換する方法。たとえば、「phone」:「123456」を「name」:「phone」、「value」:「123456」に変更します。

WBOY
WBOYオリジナル
2016-06-23 13:40:51745ブラウズ

"phone":"1234567" を "name":"phone","value":"123456" に変更する方法。 。


ディスカッションへの返信 (解決策)

$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","値":"1234567"}]

$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'"}

$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"}]
りぃ

このように書き直しました。でも調べてみたらこうなりました
[{"name":0,"value":{"phone":"18511337033","name":"ggg","id_card":"123321123321}}]Array

私の get_js_array() は次のように書かれています
$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;


変更方法

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;}
[[{"name":"phone","value":"18511337033"},{"name":"name", " 値":"ggg"},{"名前":"id_card","値":"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);
[[{"名前":"電話","値":"18511337033 " },{"name":"name","value":"ggg"},{"name":"id_card","value":"123321123321"}]]



. . 2つではない出力方法[[{"name":"111","value":"222" }]],
角括弧は 1 つだけ [{"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);
[[{"名前":"電話","値":"18511337033"},{"名前":"名前","値":"ggg "},{"名前":"id_card"," value":"123321123321"}]]



... ここで別の必要があります... 2 つではない [[{"name ":"111","value":"222" }]],
角括弧を 1 つだけ出力します [{"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"},{"名前":"名前","値":"ggg"},{"名前":"id_card", "値":"123321123321"}]
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。