问题描述
您好,所以我正在编写一个PHP代码,该代码使我可以将SQL查询的结果存储在PHP数组中,然后使用函数implode将Iam将该数组转换为字符串,而我试图将表的每一行都放入在新行中,但是当我回显字符串时,我将所有结果都放在同一行中。
$data=array();
$req=$bdd->prepare("SELECT * FROM tableciqual WHERE (CONVERT(`alim_nom` USING utf8)) LIKE ?");
$req->execute(array("%$nom%"));
while($resultat=$req->fetch()){
$data[] =$resultat['alim_nom'];
}
$d=implode("\r\n",$data);
echo $d;
解决方法
您应该在<br/>
函数内使用implode
标签,如果使用网络浏览器,则不要使用行终止符。标记语言(例如HTML / XML)默认情况下不处理行终止符。例如,
- 换行符
'\n'
- 回车
'\r'
- 下一行
'\u0085'
- 行分隔符
'\u2028'
- 段落分隔符
'\u2029
未得到处理,因为它们应为(默认情况下是网络浏览器)。而是浏览器将它们视为“空格” 。
如果要使用它们,则可以
- 用
<pre>
标签包装变量/输出,这将明确告诉浏览器也进行非HTML格式设置(例如在本例中为行终止符)。 - 使用
nl2br()
函数,该函数会将行终止符转换为<br/>
理想情况下,您希望用换行符<br/>
替换换行符。