Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从带有json输出的回显字符串中删除php中的最后一个逗号_Php_Implode - Fatal编程技术网

从带有json输出的回显字符串中删除php中的最后一个逗号

从带有json输出的回显字符串中删除php中的最后一个逗号,php,implode,Php,Implode,我需要样本格式的json输出: [ { "date": "2013-04-01 17:30:00", "type": "meeting", "title": "Test Last Year", "description": "Lorem Ipsum dolor set", "url": "http://test.com?id=1" }, { "date": "2013-04-02 17:30:00", "type": "meeting", "title": "Test Las

我需要样本格式的json输出:

  [  { "date": "2013-04-01 17:30:00", "type": "meeting", "title": "Test Last Year",    "description": "Lorem Ipsum dolor set", "url": "http://test.com?id=1" },  { "date": "2013-04-02 17:30:00",    "type": "meeting", "title": "Test Last Year", "description": "Lorem Ipsum dolor set", "url":   "http://test.com?id=2" }   }]
最后一个逗号需要去掉:},}] 创建一个json输出,没有错误。我正在使用php,下面是我的php代码的相关部分:稍微更改为只显示相关部分

echo '[';
foreach ($enquirydates as $edate) 
{

 if ($x <= $firstunixdate )//first follow-up
 {
  echo '  { "date": "'; echo date("Y-m-d ", $firstunixdate); echo '", "type": "Follow-up", "title": "Student Enquiry ';  echo ' Follow-up (First Follow-Up)", "description": "First Student Enquiry followup due..", "url": "http://test.com/admin/followup.php?time=';echo $unixenquirydate; echo '" },';
 }
elseif ($x <= $secondunixdate)//second followup
{
 echo '  { "date": "'; echo date("Y-m-d ",$secondunixdate); echo '", "type": "Follow-up", "title": "Student Enquiry ';  echo ' Follow-up (Second Follow-Up)", "description": "Second Student Enquiry followup due..", "url": "http://test.com/admin/followup.php?time=';echo $unixenquirydate; echo '"},';
 }
elseif ($x > $finalunixdate)//enquiry open for more than 25 days
{
 echo '  { "date": "'; echo date("Y-m-d ",$x); echo '", "type": "Follow-up", "title": "Student Enquiry ';  echo ' open for more than 25 days", "description": "Second Student Enquiry followup due..", "url": "http://test.com/admin/followup.php?time=';echo $unixenquirydate; echo '"},';
}//end if
}  

echo ']';
我需要删除foreach循环中的最后一个逗号。我知道在php中,内爆可以用来删除结束字符串。但我不知道如何在这种情况下使用它,因为它包含多个echo语句


请求帮助..

这不是生成JSON的方法

创建一个数组并使用json_encode函数将其转换为json字符串

但如果你坚持按自己的方式行事:

$json = Array();
foreach($enquirydates as $edate) {
    if($x <= $firstunixdate) { //first follow-up
        $json[] = '{"date":"'.date("Y-m-d", $firstunixdate).'","type":"Follow-up","title":"Student Enquiry Follow-up (First Follow-Up)","description":"First Student Enquiry followup due..","url":"http://test.com/admin/followup.php?time='.$unixenquirydate.'"}';
    }
    else if($x <= $secondunixdate) { //second followup
        $json[] = '{"date":"'.date("Y-m-d",$secondunixdate).'","type":"Follow-up","title":"Student Enquiry Follow-up (Second Follow-Up)","description":"Second Student Enquiry followup due..","url":"http://test.com/admin/followup.php?time='.$unixenquirydate.'"}';
    }
    else if($x > $finalunixdate) { //enquiry open for more than 25 days
        $json[] = '{"date":"'.date("Y-m-d",$x).'","type":"Follow-up","title":"Student Enquiry open for more than 25 days","description":"Second Student Enquiry followup due..","url":"http://test.com/admin/followup.php?time='.$unixenquirydate.'"}';
    } //end if
}  
echo '['.implode(',', $json).']';

您不应该手工构建JSON,而应该首先构建一个数组,并使用$JSON=JSON\u encode$array来获取有效的JSON字符串。

如果它看起来太难而且容易出错。。可能是的。已经有足够多的损坏的JSON生成器。我正在获得所需的输出,其中包括最后一个逗号。我需要删除逗号…在这种情况下如何使用内爆,而不考虑JSON部分。抱歉,没有获得所需的输出:[2013-12-01,类型:跟进,标题:学生查询开放超过25天,描述:第二次学生查询跟进到期,url:},2013-12-01,类型:跟进,标题:学生查询跟进第一次跟进,描述:第一次学生查询跟进到期,url:},[{日期:,{日期:]逗号仍然保留,接近结尾,[{date:,{date:]它不起作用..日期部分从开始剥离并放在结尾,如下所示,以及逗号:,[{date:,{date:]我得到所需的输出,其中包括最后一个逗号..我需要删除逗号…在这种情况下如何使用内爆,而不考虑json部分。echo'['.rtrimpolde',',$json','.]';我不需要[]部分,因为我之前已经硬编码了它。所以我尝试了echo'rtrimpolde',',$json',';仍然得到,{date:,{date:]接近结尾…逗号仍然存在,日期已经移到结尾???