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

PHP,添加一个带有内爆的换行符,php,implode,Php,Implode,我正试图在我的foreach语句中添加一个新行\n,该语句带有内爆 我的代码: $ga->requestReportData($profileId,array('country'),array('visits')); $array = array(); foreach($ga->getResults() as $result){ $array[] = "['".$result->getcountry()."', ".$resu

我正试图在我的foreach语句中添加一个新行
\n
,该语句带有内爆

我的代码:

$ga->requestReportData($profileId,array('country'),array('visits')); 
$array = array();
foreach($ga->getResults() as $result){ 
    $array[] = "['".$result->getcountry()."', ".$result->getVisits()."]"; 
} 
echo implode(",\n", $array);
我的结果之间只有一个逗号和一个空格。我要逗号和换行符

我试图得到这样的东西:

[‘国家’、‘编号’]

[‘国家’、‘编号’]

[‘国家’、‘数字’]

然而,我明白了这一点:

['Country','number'],['Country','number'],['Country','number']


为什么我的\n没有换行?

我怀疑这是因为您正在将数据回送到浏览器,而它没有如您所期望的那样显示换行符。如果将内爆包装在
中,许多其他人声称您使用了错误的顺序,这只是部分正确,因为文档只建议这样做,但您不必:

$array = array('this','is','an','array');
echo "<pre>".implode(",\n",$array)."</pre>";
出于历史原因,infrade()可以在以下两种方式中接受其参数: 秩序。但是,为了与explode()保持一致,它可能会更少 使用记录在案的参数顺序令人困惑

我认为您的问题是由浏览器如何解释HTML引起的。他们不在乎新词,他们就像一个正常的空间


要显示这些换行符,可以使用
。如果您正在编写XHTML,也可以使用
nl2br(内爆(..)
nl2br(内爆(..),true)

为了实现跨平台兼容性,请使用
PHP\u EOL
而不是
\n

this, 
is, 
another, 
way
使用上述公认答案中的示例:

$array = array('one','two','three','four');
echo implode("<br>", $array);
这也可以奏效


你能显示你的数组和你试图得到的结果吗?确保你在
标签中打印你的结果,否则你将只看到一个spacetry
内爆(“,\n”,$array)请参阅:不以这种方式工作…好吧,首先,发布您的真实代码。第二:解释问题所在。“不工作”这个词含糊不清得可笑。(并检查答案…)看看文档:
infrade()可以,出于历史原因,以任意顺序接受其参数。但是,为了与explode()保持一致,使用有文档记录的参数顺序可能会比较容易混淆。
是否有不带
标记正确答案的选项。它还解决了可移植性问题。当添加到文本区域inputPHP_EOL(在laravel中)时,使用PHP_EOL对我有效。如果您还需要“,”,则可以这样写:introde(“,”.PHP_EOL,$array)。这应该标记为正确答案,“\n”在windows上不起作用,如果您意外地写“\n”而不是“\n”,它也不起作用。
$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