我不想在显示最后一个值后显示逗号

时间:2016-09-05 04:40:38

标签: php

显示最后一个值后显示逗号:

$len = count($boltpatterns);
foreach ($boltpatterns as $key => $boltpattern) {

    $st1=$boltpattern['BP'];
    $st2='-';
    $pos=strpos($st1,$st2);

    if($pos === false){

    } else {
        echo $st1;
        if($key != $len - 1) {
            echo ',';
        }
    }
}   

4 个答案:

答案 0 :(得分:2)

  

您可以简单地使用array_column()implode()功能。

array_column()将所有'BP'键列入一个单维数组。

implode()将此单维数组$ arr转换为字符串,用逗号分隔每个条目。

$arr = array_column($boltpatterns, 'BP');

echo implode(',', $arr); 

答案 1 :(得分:1)

只需添加一个新变量即可跟踪已循环的项目数。

$len = count($boltpatterns);
$count = 1;
foreach ($boltpatterns as $key => $boltpattern) {
    $st1=$boltpattern['BP'];
    $st2='-';
    $pos=strpos($st1,$st2);
    if($pos === false){

    } else {
        echo $st1;
        if($count != $len) {
            echo ',';
        }
    }
    ++$count;
}

答案 2 :(得分:1)

你可以这样做,

$valid_data = array();
foreach ($boltpatterns as $key => $boltpattern) {
    if ( false !== strpos($boltpattern['BP'],'-') ){
        $valid_data[] = $boltpattern['BP'];
    }
}
echo implode(", ", $valid_data);

说明:这里我们收集我们需要显示到新数组的所有有效日期。我们使用PHP内置函数来显示它们。

希望这会对你有所帮助。

答案 3 :(得分:1)

$arr = array_column($boltpatterns, 'BP');

echo rtrim(implode(', ', $arr), ', ');

这是@ object-manipulator代码的改进版本,rtrim删除了逗号。