改行を追加しようとしています\n
、内破を伴う私のforeachステートメントで。
私のコード:
$ga->requestReportData($profileId,array('country'),array('visits'));
$array = array();
foreach($ga->getResults() as $result){
$array[] = "['".$result->getcountry()."', ".$result->getVisits()."]";
}
echo implode(",\n", $array);
結果の間にコンマとスペースしか表示されません。カンマと改行が必要です。
私はこのようなものを手に入れようとしています:
['国'、 '番号']、
['国'、 '番号']、
['国'、 '番号']
しかし、私はこれを取得します:
['国'、 '番号']、['国'、 '番号']、['国'、 '番号']
\ n改行が発生しないのはなぜですか?
データをブラウザにエコーしていて、期待どおりに改行が表示されていないことが原因と思われます。インプロードを<pre>
タグでラップすると、正しく機能していることがわかります。
さらに、現在のドキュメントによると、引数は implode 関数で逆になっています。ただし、歴史的な理由から、パラメーターはどちらの順序でもかまいません。
$array = array('this','is','an','array');
echo "<pre>".implode(",\n",$array)."</pre>";
出力:
this,
is,
an,
array
クロスプラットフォーム互換性のために、PHP_EOL
の代わりに\n
を使用してください。
上記の受け入れられた回答の例を使用すると:
$array = array('this','is','another','way');
echo "<pre>".implode(PHP_EOL, $array)."</pre>";
HTMLに直接書き込んでいる場合(ファイルでは機能しません)、次のように<br>
を使用するオプションがあります。
$array = array('this','is','another','way');
echo "<p>".implode(<br>, $array)."</p>";
両方の出力:
this,
is,
another,
way
これも機能します
$array = array('one','two','three','four');
echo implode("<br>", $array);
出力:
one
two
three
four