6

PHPでエコーを実行するたびに、2つの追加のキャリッジリターンが返されます。例えば:

<?php
  echo 'abc';
?>

abc[cr][cr]を生成します。スクリプトを別のサーバーにコピーすると、[cr] abc[cr][cr]も取得します。

PHPに文字列「abc」のみをエコーさせ、キャリッジリターンはエコーさせないようにするにはどうすればよいですか?

4

5 に答える 5

9

echo\nPHPではを追加しません。

ただし、クロージングを削除することをお勧めし?>ます。そうすれば、後続の出力がないことを保証できます。

于 2012-12-06T23:19:17.280 に答える
4

後の2つのキャリッジリターンを削除します?>(またはを削除します?>

于 2012-12-06T23:18:53.537 に答える
1

echoデフォルトでは、キャリッジ リターンはありません。

予期しない空白や行は、主にスクリプトの使用が原因です。プロセスが 1 行になる場合は、スクリプト側でも 1 行を使用してください。この例については; `

ヒントとして別のトピックで、より便利なことでも、条件文を使用した単純なif/ステートメントでそれを行うことができますelse

次の例を検討してください。 <?php echo ($foo == "bar") ? "Foo was bar." : "Foo wasn't bar."; ?>

于 2012-12-06T23:34:01.013 に答える
1

PHP スクリプトは HTML ファイルにネイティブに配置されるため、空白の影響を受けます。これは、タグを囲む空白が画面に表示されることを意味します。あなたが望むように、それが段落の途中になる可能性があります!

他の回答が示唆するように、タグを囲む改行をクリアするか、PHPインタープリターをだまして最後の「?>」タグを残すことで、最後の改行をごまかすことができます。

于 2012-12-06T23:34:27.620 に答える
1

サーバー設定により、PHP はすべての出力の前後に任意の数のキャリッジ リターンを挿入するようになると結論付けなければなりません。もちろん、これは私が使用している Web ホストの構成ファイルのエラーです。こんなはずじゃない。

于 2013-03-13T02:45:41.563 に答える