繁体   English   中英

在PHP中的while循环和foreach循环中创建JSON

[英]creating JSON from while loop and foreach loop in php

我正在修改在服务器端使用PHP的应用程序,该应用程序输出JSON格式。

{"by":"Industrie LLC","dead":false,"descendants":396,"id":"396","kids":[1,396],"score":396,"time":"396","title":"Industrie LLC","type":"comment","url":"www.nytimes.com"}

因为它是我正在获取mysql data。的最后一列,我知道它与循环有关,但我不知道具体是什么。

我的PHP代码在这里

$sql_metro_company_doc_legal = "SELECT * FROM ".$configValues['CONFIG_DB_TBL_PRE']."posts where post_type='company'";
$res_metro_company_doc_legal = $dbSocket->query($sql_metro_company_doc_legal);

while($row_metro_company_doc_legal = $res_metro_company_doc_legal->fetchRow()) { 
    $notice2[]  = $row_metro_company_doc_legal[5]; 
    $notice8[]  = strtotime($row_metro_company_doc_legal[0]);
    $notice9[]  = $row_metro_company_doc_legal[0];
    $notice3[]  = $row_metro_company_doc_legal[0];
    $notice  = array("id" => "".$row_metro_company_doc_legal[1]."","title"=>"".$row_metro_company_doc_legal[0].""); 
    $notice10[]  = $row_metro_company_doc_legal[0]; 
    $notice6[]  = $row_metro_company_doc_legal[0]; 
    $notice11[]  = $row_metro_company_doc_legal[5]; 
    $notice7[]  = strtotime($row_metro_company_doc_legal[2]); 
    $notice12[]  = 'www.nytimes.com'; 
    $notice7[]  = "comment"; 
}
foreach ($notice2 as $status2) {
    $_page['by'] = $status2;
}
foreach ($notice8 as $status8) {
    $_page['dead'] = $status8;
}
foreach ($notice9 as $status9) {
    $_page['descendants'] = (int)$status9;
}
foreach ($notice3 as $status3) {
    $_page['id'] = $status3;
}
foreach ($notice as $status) {
    $_page['kids'][] = (int)$status;
}
foreach ($notice10 as $status10) {
    $_page['score'] = (int)$status10;
}
foreach ($notice6 as $status6) {
    $_page['time'] = $status6;
}
foreach ($notice11 as $status11) {
    $_page['title'] = $status11;
}
foreach ($notice7 as $status7) {
    $_page['type'] = $status7;
}
foreach ($notice12 as $status12) {
    $_page['url'] = $status12;
}
foreach ($notice4 as $status4) {
    $_page['parent'] = (int)$status4;
}
foreach ($notice5 as $status5) {
    $_page['text'] = $status5;
}               

//sets the response format type
header("Content-Type: application/json");

//converts any PHP type to JSON string
echo json_encode($_page); 

您需要在$_page创建一个二维数组。

$_page = array();
foreach ($notice2 as $i => $status) {
    $_page[] = array(
        'by' => $status,
        'dead' => $status8[$i],
        'descendants' => (int)$status9[$i],
        'id' => $status3[$i],
        // and so on for the rest
    );
}
header ("Content-type: application/json");
echo json_encode($_page);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM