从php foreach循环中删除最后一个逗号

时间:2013-12-29 08:02:08

标签: php foreach

我正在从表的单个块中检索此值,即

SAMPLE1,SAMPLE2,样品3,

我不希望检索最后一个逗号,因为我的输出结尾处创建了一个空结果。这是我的代码:

$imageExtractExplode = explode(",", $imageExtract);
foreach
($imageExtractExplode as $imageExtractFinal){
//my echo code
}

如何停止显示最后一个逗号

7 个答案:

答案 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)

我更喜欢使用resetend生成自定义last()功能 - 有关详细信息,请参阅this answerRok Kralj

function last($array, $key) {
    end($array);
    return $key === key($array);
}

foreach($array as $key => $element) {
    if (last($array, $key))
        echo 'LAST ELEMENT!';
}