我正在从表的单个块中检索此值,即
SAMPLE1,SAMPLE2,样品3,
我不希望检索最后一个逗号,因为我的输出结尾处创建了一个空结果。这是我的代码:
$imageExtractExplode = explode(",", $imageExtract);
foreach
($imageExtractExplode as $imageExtractFinal){
//my echo code
}
如何停止显示最后一个逗号
答案 0 :(得分:0)
你可以尝试这个吗,你可以使用rtrim
函数删除最后一个逗号并爆炸删除的字符串。
$imageExtract = rtrim("sample1,sample2,sample3,", ",");
$imageExtractExplode = explode(",", $imageExtract);
foreach($imageExtractExplode as $imageExtractFinal){
//my echo code
}
或substr($string, 0, -1);
$imageExtract = substr("sample1,sample2,sample3,", 0, -1);
$imageExtractExplode = explode(",", $imageExtract);
foreach($imageExtractExplode as $imageExtractFinal){
//my echo code
}
答案 1 :(得分:0)
您可以使用preg_split()而不是explode(),因为它为您提供了一种忽略空字符串的方法:
$imageExtractExplode = preg_split("/,/", $imageExtract, -1, PREG_SPLIT_NO_EMPTY);
如果一行中有两个逗号,那么你也可以避免出现空字符串问题。
请在此处查看详细信息:http://us1.php.net/manual/en/function.preg-split.php
答案 2 :(得分:0)
$imageExtractExplode = explode(",", $imageExtract);
array_pop($imageExtractExplode); // THIS .. !
foreach($imageExtractExplode as $imageExtractFinal){
//my echo code
}
答案 3 :(得分:0)
$imageExtract = rtrim($imageExtract,',');
$imageExtractExplode = explode(",", $imageExtract);
foreach ($imageExtractExplode as $imageExtractFinal){
//my echo code
}
答案 4 :(得分:0)
您使用的是早期版本的PHP吗?我似乎没有那个问题,但我正在运行5.3。
// Explode the values
$imageExtractExplode = explode(",", $imageExtract);
// Run foreach loop
foreach ($imageExtractExplode as $imageExtractFinal) {
// Check to see if the value is empty or not. If it is empty, skip it.
if (!empty($imageExtractFinal)) {
//my echo code
}
}
答案 5 :(得分:0)
您可以使用substr来提取部分字符串。
$str = "sample1,sample2,sample3,";
$rs = substr($str, 0, -1); // returns "sample1,sample2,sample3"
答案 6 :(得分:0)
我更喜欢使用reset和end生成自定义last()
功能 - 有关详细信息,请参阅this answer的Rok Kralj。
function last($array, $key) {
end($array);
return $key === key($array);
}
foreach($array as $key => $element) {
if (last($array, $key))
echo 'LAST ELEMENT!';
}