PHP 删除循环中的最终分隔符

PHP remove final separator within Loop

在最后一部分,我只是想删除最后一个井号 (#) 分隔符。 我知道这是一个简单的 IF 语句,但我无法理解。提前致谢

<?php
    reset($values);
    while($value = current($values)) 
    {
        echo $value . " # ";
        next($values);
    }
    ?>

如前所述,我将存储在一个数组中,然后 implode() 存储的数组。

<?php
    reset($values);
    while($value = current($values)) {
            // Remove # here, just store values
            $array[] = $value;
            next($values);
        }
    // Check that values have been stored
    if(isset($array) && !empty($array))
        // Implode with the # character
        echo implode("#",$array);
    ?>

编辑:

由于 # 已经存储在您的值中,您可以使用 count()str_replace():

<?php
    // Dummy array maker
    for($a=1;$a<=10;$a++)
        $values[]   =   $a.'#';

    // Count how many are in array
    $count = count($values);
    reset($values);
    $i = 1;
    while($value = current($values)) {
            // If the count is equal to the $i, remove #
            echo ($i == $count)? str_replace("#","",$value) : $value;
            next($values);
            $i++;
        }
    ?>

给你:

1#2#3#4#5#6#7#8#9#10
for ($i=0;$i<=(count($values)-1);$i++) {
        $str = $values[$i];
        $total =count($values)-1;
           if((count($values)-1) == $i){
            echo $str =$str.'';
        }else{
            echo $str =$str.'#';
        }
    }