如何从循环中为json数据删除php中的最后一个逗号

时间:2014-08-26 18:42:35

标签: php mysql

我手动framin json输出而不使用json可用的decode / encode,在while循环中获取一个额外的逗号,试图删除它并且无法知道hoe在我的代码中删除它是我的代码。

<?php
include 'db.php';
$mobileNumber = "9234234324";
$query = "SELECT * FROM msComments WHERE mobileNumberFK=$mobileNumber";
$result = mysql_query($query);
$rows = mysql_num_rows($result);
$myjson = "[";
$i = 0;
//echo "the rows are $rows";
if ($rows > 0) {           // echo 'from rows';
while ($data = mysql_fetch_array($result)) {
// echo "the i is $i";
$i++;
$surveyIdFk = $data["surveyIdFk"]; //
$query_one = "SELECT * FROM msSurvey where surveyId = $surveyIdFk";
$result_one = mysql_query($query_one);
$rows_one = mysql_num_rows($result_one);
echo " rr $rows_one";
$j = 1;
// $data1 = array();
while ($row = mysql_fetch_array($result_one)) {
echo "the j is $j";
$j++;

$myjson.='{';
$myjson.='"surveyIdFk":"' . $row["surveyId"] . '",';
$myjson.='"mobileNumberFk":"' . $row["mobileNumberFk"] . '",';
$myjson.='"rating":"' . $data["rating"] . '",';
$myjson.='"image":"' . $row["image"] . '",';
$myjson.='"comment":"' . $data["comment"] . '",';
$myjson.='"creatorComment":"' . $data["creatorComment"] . '",';
$myjson.='"time":"' . $row["time"] . '"';

if ($rows_one == $j) {
$myjson.='}';
} else {
$myjson.='},';
}
}

}


$myjson.="]";
echo $myjson;
} else {
$myjson111.='[';
$myjson111.='{';
$myjson111.='"respCode":"111"';
$myjson111.='}';
$myjson111.=']';
echo $myjson111;
}


?>
enter code here

1 个答案:

答案 0 :(得分:1)

最好使用json_encode()/ json_decode(),但是如果你想按照自己的方式去做,你可以查看这样的最终逗号:

...

if ($rows_one == $j) {
$myjson.='}';
} else {
$myjson.='},';
}
}

}

if(substr($myjson,-1)==",")
    $myjson = substr($myjson,0,strlen($myjson)-1);


$myjson.="]";
echo $myjson;
} else {

...