如何从数组中删除最后一个逗号(,)?

时间:2011-06-16 06:47:25

标签: php

我已经通过了这个地址:

Passing an array to a query using a WHERE clause

并发现如果我使用join子句来分隔值,也在数组的末尾。我怎样才能删除最后一个?

我正在使用这个

$ttst=array();
$ttst=array(); 
$tt = "SELECT frd_id FROM network WHERE mem_id='$userId'"; 
$appLdone = execute_query($tt, true, "select"); 
foreach($appLdone as $kk=>$applist){ 
    $ttst[] = $applist['frd_id']; 
} 
$result = implode(',', $ttst); 

然后也是最后一次,

感谢。


但它不会为每个值提供单引号。

7 个答案:

答案 0 :(得分:10)

join(',', array_filter($galleries))

array_filter摆脱了你似乎拥有的空元素。当然,你应该注意不要在那里有空元素。

答案 1 :(得分:5)

您可以使用trim()(或rtrim()):

$myStr = 'planes,trains,automobiles,';
$myStr = trim($myStr, ',');

答案 2 :(得分:3)

$str = "orange,banana,apple,";
$str = rtrim($str,',');

这将导致

$str = "orange,banana,apple";

更新

根据您的情况:

$result = implode(',', $ttst);
$result = rtrim($result,',');

答案 3 :(得分:0)

$arr = array(...); 
$last = end($arr); 
unset($last); 

答案 4 :(得分:0)

如果尾部“,”是其自身的数组元素,请使用array_pop(),否则,请使用rtrim()

$array = array('one','two',3,',');
array_pop($array);
print_r($array);

给出:

  

数组([0] =>一个1 =>两个2 => 3   )

答案 5 :(得分:0)

无需长度。从头到尾(最后一个角色 - 1)

$finalResult = $str = substr($result, 0, -1);

答案 6 :(得分:-1)

使用implode()代替!请参见示例#1 http://php.net/manual/en/function.implode.php

编辑:

我认为快速修复(按步骤分解):

$temp = rtrim(implode(',', $ttst), ','); //trim last comma caused by last empty value
$temp2 = "'"; //starting quote
$temp2 .=  str_replace(",", "','", $temp); //quotes around commas
$temp2 .= "'"; //ending quote
$result = $temp2; // = 'apples','bananas','oranges'

这应该给你单引号围绕字符串,但注意如果数组中的某些更多值有时是空的,你可能需要写一个foreach循环并构建字符串。