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


i dont want to display comma after displaying last value

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

$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 ',';
        }
    }
}   

您可以简单地使用array_column((和内爆((函数。

array_column((将所有"BP"键列为一个一维数组。

内爆((将这个一维数组$arr转换为字符串,用逗号分隔每个条目。

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

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

$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;
}

你可以这样做

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

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

希望这对你有帮助。

$arr = array_column($boltpatterns, 'BP');
echo rtrim(implode(', ', $arr), ', ');

这是@object操纵器代码的改进版本,rtrim删除了尾部逗号。