Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
在php mysql中删除foreach查询中的最后一个逗号_Php_Arrays_Json - Fatal编程技术网

在php mysql中删除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

我使用foreach循环从数据库中回显一些值,并用逗号分隔每个值,但最后一个逗号是如何删除的

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()