我有这个PHP代码:
foreach( $wpdb->get_results(
) as $key => $row) {
echo "['". $row->DATE . "',". $row->total_sales . "],";
}
这产生了这个:
['09-08-11',0],['09-09-11',0],['09-10-11',0],['09-11-11',0],
如何删除foreach循环中的最后一个逗号?
答案 0 :(得分:14)
有几种方法:
在这些选项中,我可能会使用#1,因为它使代码更加自我记录。
答案 1 :(得分:6)
php有一个trim函数,给它一个字符串和逗号。
$s = trim ($s,",")
答案 2 :(得分:4)
您需要变量来存储逗号状态:
$comma = ""; ## don't need comma before first element
foreach( $wpdb->get_results(
) as $key => $row) {
echo $comma."['". $row->DATE . "',". $row->total_sales . "]";
$comma = ",";
}
答案 3 :(得分:1)
我通常这样做..
$result = array();
foreach( $wpdb->get_results() as $key => $row ){
$result[] = "['". $row->DATE . "',". $row->total_sales . "]";
}
echo implode( ',', $result );
它有点简洁,(但由于临时数组可能会导致内存效率降低)。
答案 4 :(得分:1)
将您的字符串放入 substr() 函数
$string = "";
while ($row = mysql_fetch_array($result)) {
$string .= $name . ', ';
}
echo substr($string, 0, strlen($string) - 2);
答案 5 :(得分:0)
我喜欢内心的想法,但我经常使用三元运算符来保持一切简洁。许多人不喜欢三元,但它是一种众所周知的多种语言结构,所以我使用它。在这种情况下,如果我在第一次迭代时$ results将为空,所以我不插入逗号,否则我在新数据之前的内容中放了一个逗号:
$results = '';
foreach( $wpdb->get_results() as $key => $row) {
$results .= (empty($results) ? '' : ',') . "['". $row->DATE . "',". $row->total_sales . "]";
}
echo $results;
答案 6 :(得分:-2)
$numItems = count($wpdb->get_results());
$i = 0;
foreach( $wpdb->get_results() as $key => $row) {
if($i+1 == $numItems) {
echo "['". $row->DATE . "',". $row->total_sales . "]";
}
else{
echo "['". $row->DATE . "',". $row->total_sales . "],";
}
$i++;
}