PHP,添加带有内爆的换行符

2022-08-30 19:39:32

我试图添加一个换行符,在我的前言语句中用内爆。\n

我的代码:

$ga->requestReportData($profileId,array('country'),array('visits')); 
$array = array();
foreach($ga->getResults() as $result){ 
    $array[] = "['".$result->getcountry()."', ".$result->getVisits()."]"; 
} 
echo implode(",\n", $array);

我的结果之间只有一个逗号和一个空格。我想要一个逗号和一个换行符。

我试图得到这样的东西:

['国家', '号码'],

['国家', '号码'],

[“国家”、“数字”]

但是我得到这个:

['国家', '数字'], ['国家', '数字'], ['国家', '数字']

为什么我的 \n 不会导致换行符?


答案 1

我怀疑这是因为您正在将数据回显到浏览器,并且它没有像您预期的那样显示换行符。如果将内爆包裹在标签中,您可以看到它工作正常。<pre>

此外,根据当前文档,您的参数在内爆函数上是反向的。但是,由于历史原因,参数可以按任一顺序排列。

$array = array('this','is','an','array');
echo "<pre>".implode(",\n",$array)."</pre>";

输出:

this,
is,
an,
array

答案 2

为了跨平台兼容性,请使用 代替 。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

推荐