0

$member各グループを区別するために、以下のコードの最後の最後に空白行を追加したいと思います。以下のコードで試しました

foreach($members as $key => $member)
{
    $member = trim(preg_replace('/\s\s+/', ' ', $member));
    $dev = " $member part of Form; <br>";
    echo str_replace("<br>", "\r\n", $dev);

    if($key == count($member)-0) 
    {
        $space = "<br>";
        echo str_replace("<br>", "\r\n", $space);
    }
}

ただし、2行ごとに空白を追加します。最後の文字列の最後にのみスペースを追加するにはどうすればよいですか?

4

4 に答える 4

1

「最後の文字列の最後に」改行を追加するには、ループの後にエコーします。ただし、"\r\n" の代わりに定数 PHP_EOL を使用してください。

PHP_EOL を各行の末尾に連結する、ブラウザーとコマンド ラインでほぼ同じように表示される出力が得られます。ループの後にもう 1 つ PHP_EOL をエコーすると、コマンド ラインからは表示されるがブラウザからは表示されない空白行が挿入されます。ブラウザーで空白行 (より多くの空白) が必要な場合は、代わりに CSS を使用してください。

タグを置き換える方法を既に知っているように見えるので<br>、コードのその部分を無視しました。コマンドラインからテキストを読みやすくするだけでなく、これらのタグを本当に置き換える必要がある場合は、簡単に行うことができます。

$ cat code/php/test.php
<?php
$members = array(0 => 'Member0', 1 => 'Member1', 2 => 'Member2', 3 => 'Member3');
foreach($members as $key => $member)
{
    $member = trim(preg_replace('/\s\s+/', ' ', $member));
    echo " $member part of Form; <br>".PHP_EOL;
}
echo PHP_EOL;
?>
$ php code/php/test.php
 Member0 part of Form; <br>
 Member1 part of Form; <br>
 Member2 part of Form; <br>
 Member3 part of Form; <br>

$
于 2013-08-24T11:22:26.493 に答える
0
$numItems = count($members);
$i = 0;
foreach($members as $key=>$member) {
  if(++$i === $numItems) {
    $space = "<br">;
    echo str_replace("<br>", "\r\n", $space);
  }
}

PHP で foreach ループを使用しているときに配列の最後の要素を見つける

于 2013-08-24T10:22:06.663 に答える