我试图从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
(所有逗号都消失了)
我该怎么做才能摆脱最后一个逗号?
预先感谢
答案 0 :(得分:3)
只需使用implode
。例如:
$myCoins = array('BTC' => 45, 'ETH' => 12);
$coinReader = implode(',', array_keys($myCoins));
echo $coinReader;
输出:
BTC,ETH
答案 1 :(得分:1)
如果不是循环的第一次迭代,我只建议前置逗号:
for ($i=0; $i < sizeof($myCoins); $i++) {
if ($i > 0) $coinReader .= ',';
$coinReader = $myCoinsCoinReader[$i];
}
相对于修整,我更喜欢这种方法,因为它使for循环可以一次构建正确的字符串,而不必添加第二个清除步骤。
答案 2 :(得分:1)
只需检查这是哪个迭代。如果不是最后一个,请添加一个逗号。
$size = sizeof($myCoins);
$output = "";
for ($i = 0; $i < $size; $i++) {
$output .= $myCoinsCoinReader[$i];
if ($size - 1 > $i) {
$output .= ',';
}
};
echo $output;