我必须以下列格式打印json
> { header: [ { "signinpage": "ABC" }, { "signinpage": "XYZ" }, {
> "signinpage": "PQR" }, { "signinpage": "ERT" } ] }
我使用了以下代码:
while ($row = mysql_fetch_array($res,MYSQL_ASSOC))
{
$rows[] = $row["customer"];
}
if(mysql_num_rows($res)!= 0)
{
if (!isset($responses[$row['$header']= array ()]))
{
for ($i=0;$i<count($rows);$i++)
{
if(isset($responses[$row['$header']]))
{
$responses[$row[$header]] = array('signinpage'=>$rows[$i]);
}
}
}
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json; charset="utf-8"');
echo json_encode($responses);
}
我是JSON的新手并且发现难以打印,任何人都可以帮助我获得所需的输出。谢谢你。
答案 0 :(得分:0)
$responses = array();
在你的while循环之前添加这个linw。
$responses = array();
while ($row = mysql_fetch_array($res,MYSQL_ASSOC))
{
$rows[] = $row["customer"];
}
if(mysql_num_rows($res)!= 0)
{
if (!isset($responses[$row['$header']= array ()]))
{
for ($i=0;$i<count($rows);$i++)
{
if(isset($responses[$row['$header']]))
{
$responses[$row[$header]] = array('signinpage'=>$rows[$i]);
}
}
}
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json; charset="utf-8"');
echo json_encode($responses);
}
您的代码中的$ header是什么,它没有赋值任何值。
if (!isset($responses[$row['$header']= array ()]))
这是错误的。 key不能是数组
答案 1 :(得分:0)
现在尝试一下它应该适合你:
$rows = array();
while($row = mysql_fetch_array($res)) {
$rows[$row['$header']][]['signinpage']=$row['customer'];
}
print json_encode($rows);
愿这对你有帮助!
答案 2 :(得分:0)
你的循环有问题。我看不到你的$ row / $标头变量的设置位置和内容。你写的错误条件是错误的。尝试这样的事情:
$responses = array();
while ($row = mysql_fetch_array($res,MYSQL_ASSOC)) {
$rows[] = $row["customer"];
}
if(mysql_num_rows($res)!= 0) {
if (!isset($responses[$row['$header']])) {
// in case it is not set, create an array..,
$responses[$row['$header']]= array();
for ($i=0; $i<count($rows); $i++) {
// for each row add your assoziative array to it
$responses[$row[$header]][] = array('signinpage'=>$rows[$i]);
}
}
}
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json; charset="utf-8"');
echo json_encode($responses);