在php mysql中删除foreach查询中的最后一个逗号
我使用foreach循环从数据库中回显一些值,并用逗号分隔每个值,但最后一个逗号是如何删除的在php mysql中删除foreach查询中的最后一个逗号,php,arrays,json,Php,Arrays,Json,我使用foreach循环从数据库中回显一些值,并用逗号分隔每个值,但最后一个逗号是如何删除的 echo $string='"paymentmethods":'; echo $string='"Bank":['; $sql2 = "SELECT * FROM paymentmethods where cid=587 "; $query = $this->db->query($sql2); foreach ($query->result() as $row){ ec
echo $string='"paymentmethods":';
echo $string='"Bank":[';
$sql2 = "SELECT * FROM paymentmethods where cid=587 ";
$query = $this->db->query($sql2);
foreach ($query->result() as $row){
echo '{';
echo $string = 'accname:'.$row->acc.',' ;
echo $string = 'country:'.$row->IBAN.',' ;
echo $string = 'Iban:'.$row->Bankname.',' ;
echo $string = 'Bankname:'.$row->Bankname.',' ;
echo $string = '},';
}
echo $string = '],';
"paymentmethods":"Bank":[{accname:0034430430012,country:AE690240002520511717801,Iban:ARABIC BANK NAME,Bankname:ARABIC BANK NAME,},{accname:0506796049,country:DE690240002520511717801,Iban:ARABIC BANK NAME,Bankname:ARABIC BANK NAME,},]
这里可以看到逗号在名称结束后重复。括号的末尾也有逗号,因为您已经在代码中编写了逗号。将行更改为:
// same as above
echo $string = 'Bankname:'.$row->Bankname. ;
echo $string = '}';
}
echo $string = ']';
通常的做法是:
$sep = '';
$result = '';
foreach($myarray as $value) {
$result .= $sep.$value;
$sep = ',';
}
这样,您就没有开始或结束逗号。
但正如评论所说,您正在自己进行“json_编码”。。。您应该改用json_编码/解码。我们可以看看它的输出和预期输出吗?很难说清楚你在问什么!要从字符串中删除最后一个字符,可以轻松使用substr:
$string=substr($string,0,-1)
看起来你是在自己做json\u encode
?尝试使用内置的json\u encode
对数组进行编码。你把它编错了。使用json\u encode()