0

このサイトのいくつかの異なる投稿を使用して、文字列の最後のコンマを削除する方法を見つけました。どうやらそれは古典的な質問ですが、私が理解できないのは、予想されるようにコンマの後にではなく、コンマの前に余分な空白を追加する理由です?

いつものようにコードをいじってみましたが、余分な空白がどこから来ているのかわかりません。助けてください。目が見えなくなってしまいます!

<?php $comma = ""; ?><?php foreach ($tags as $tag) { ?>
<?php echo $comma; ?><a href="<?php echo $tag['href']; ?>">
<?php echo $tag['tag']; ?></a><?php $comma = ","; ?>
4

3 に答える 3

2

おそらく、PHPタグ間のHTMLコードに空白があります...次のように書き直してみませんか。

<?php $comma = '';
foreach ($tags as $tag) {
    echo "$comma<a href='{$tag['href']}'>{$tag['tag']}</a>";
    $comma = ',';
} ?>
于 2012-05-07T00:35:54.813 に答える
2

全体を次のように書きたいと思います。

<?php
$tag_strings = array();
foreach ($tags as $tag)
    {
    $tag_strings[] = "<a href='" . $tag['href'] . "'>" . $tag['tag'] . "</a>";
    }
echo implode(',', $tag_strings);
于 2012-05-07T00:55:51.540 に答える
2

<a>空白のスペースは、要素を開いた後の HTML の改行が原因です。

より良い出力ソリューションは次のようになります。

<?php
$total = count( $tags);
$x = 0;
foreach ( $tags as $tag ){
    $x++;
    echo '<a href="' . $tag['href'] . '">' . $tag['tag'] . '</a>';
    if ( $x < $total ) echo ',';
}
?>
于 2012-05-07T00:33:58.203 に答える