我已经通过了这个地址:
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);
然后也是最后一次,
感谢。
但它不会为每个值提供单引号。
答案 0 :(得分:10)
join(',', array_filter($galleries))
array_filter
摆脱了你似乎拥有的空元素。当然,你应该注意不要在那里有空元素。
答案 1 :(得分:5)
答案 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);
给出:
答案 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
循环并构建字符串。