为了账号安全,请及时绑定邮箱和手机立即绑定

如何将数据编码为json?

如何将数据编码为json?

PHP
慕容3067478 2021-04-30 13:12:01
我想将数据编码为json。现在,通过底部代码,我具有ID和产品标题,但是我想添加其他数据,例如费用。我怎样才能做到这一点?<?php$sql = 'SELECT id,title,cost,cat        FROM prodcts_df';$q = $db->query($sql);$q->setFetchMode(PDO::FETCH_ASSOC);?> <?php while ($r = $q->fetch()): ?>    <?php $myJson->$r['id']= $r['title'];?> <?php endwhile; ?><?php echo json_encode($myJson); ?>
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

您可以像这样在json_encode之前在数组中添加成本:


 // ......

 while ($r = $q->fetch()) { 

    $myJson->$r['id']= [

       'title' => $r['title'],

       'cost'  => $r['cost'],

       //.....

    ];

 }

// .....


查看完整回答
反对 回复 2021-05-07
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

您最好将整个行($r)添加到数组中,而不仅仅是标题。您还应该$myJson首先初始化数组()...


$sql = 'SELECT id,title,cost,cat

        FROM prodcts_df';

$q = $db->query($sql);

$q->setFetchMode(PDO::FETCH_ASSOC);


// Initialise array

$myJson = []

while ($r = $q->fetch()) {

    // Add the row to the array indexed by the ID

    $myJson[$r['id']]= $r;

}


echo json_encode($myJson);

请注意,我使用$myJson[$r['id']]而不是$myJson->$r['id']添加它,在索引这样的数据列表时更常见。


如果您只想要阵列的一部分...


$myJson[$r['id']]= [ 'title' => $r['title'], 'cost' => $r['cost']];


查看完整回答
反对 回复 2021-05-07
?
SMILET

TA贡献1796条经验 获得超4个赞

json_encode($myJson);

会将您的对象编码为JSON。如果将其他数据添加到$ myJson变量中,它将在输出中包括这些数据:

$myJson['foo'] = 'bar';


查看完整回答
反对 回复 2021-05-07
  • 3 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信