12
  $rows = mysql_num_rows($result) ;
  for ($j=0 ; $j < 3 ; $j++) {
  for ($i=0 ; $i < 3 ; $i++) {
    $row = mysql_fetch_array($result) ;
    echo '<a href="image2.php?id='.$row['ID'].'">'."<img src='".$row['Image']."' />".'</a>' ;

  }
   echo "\r\n";
  }

该代码显示三组三张图像。我的理解是 \r\n 和 \n (双引号)应该创建一个新行。然而,它只是在图像之间插入一个空格。是调用方式 \r\n 错误还是使用错误的代码来插入新行(换行符)

示例(# = 一张图片):

没有回声 \r\n: ######### 有回声 \r\n: ### ### ###

4

4 回答 4

12

当空白是HTML 文本的一部分时,它不会逐字显示。\r并且\n不是通用常数;它们只是角色,取决于使用它们的任何程序来决定如何处理它们。

你应该<br>改用。

于 2012-04-26T10:48:19.253 回答
12

echo "\r\n";在循环之外。将其移动到循环内。

此外,如果您希望换行符在浏览器中可见,您也应该打印 a <br />

  $rows = mysql_num_rows($result) ;
  for ($j=0 ; $j < 3 ; $j++) {
  for ($i=0 ; $i < 3 ; $i++) {
    $row = mysql_fetch_array($result) ;
    echo '<a href="image2.php?id='.$row['ID'].'">'."<img src='".$row['Image']."' />".'</a>' ;
  }
    echo "<br />\n";    
  }
于 2012-04-26T10:50:07.630 回答
5

你需要:

echo '<br />';

代替:

echo "\r\n";
于 2012-04-26T10:48:47.430 回答
0

您还可以考虑设置适当的标头示例:


$data = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
];
header("Content-Type: text/plain");
foreach($data as $row){
    echo implode(',', $row) . "\r\n";
}

于 2021-07-15T03:57:55.040 回答