PHP 删除 for 循环结果的最后一个逗号

PHP remove last comma of for loop result

我试图去掉 for 循环结果中的最后一个逗号,但 rtrim 去掉了所有逗号,而不仅仅是最后一个逗号。

这是我试过的

$myCoinsCoinReader = array_keys($myCoins);

for ($i = 0; $i < sizeof($myCoins); $i++) {
    $coinReader = $myCoinsCoinReader[$i] . ',';
    $resultReader = rtrim($coinReader, ",");

    echo $resultReader;
};

$coinReader 的结果是 BTC,ETH, $resultReader 的结果是 BTCETH(所有逗号都消失了)

我该怎么做才能只去掉最后一个逗号?

提前致谢

如果不是循环的第一次迭代,我建议只在前面加上逗号:

for ($i=0; $i < sizeof($myCoins); $i++) {
    if ($i > 0) $coinReader .= ',';
    $coinReader = $myCoinsCoinReader[$i];
}

我更喜欢这种方法而不是右修剪,因为它让 for 循环一次性构建正确的字符串,而不必添加第二个清理步骤。

只需检查这是哪个迭代。如果不是最后一个,则加一个逗号。

$size = sizeof($myCoins);

$output = "";

for ($i = 0; $i < $size; $i++) {
    $output .= $myCoinsCoinReader[$i];
    if ($size - 1 > $i) {
        $output .= ',';
    }
};

echo $output;

只需使用implode。例如:

$myCoins = array('BTC' => 45, 'ETH' => 12);
$coinReader = implode(',', array_keys($myCoins));
echo $coinReader;

输出:

BTC,ETH

Demo on 3v4l.org