Php 关于使用HTML打印数组的问题<;预处理>;要素

Php 关于使用HTML打印数组的问题<;预处理>;要素,php,Php,我正在尝试打印一个用html包装的 $data = array(); $query = "SELECT * FROM data"; if ($result = $mysqli->query($query)) { while ($row = $result->fetch_assoc()) { $data[] = $row; } $result->free(); } echo '<pre>',print_r($data),'</

我正在尝试打印一个用html包装的

$data = array();
$query = "SELECT * FROM data";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
      $data[] = $row;
    }
    $result->free();
}
echo '<pre>',print_r($data),'</pre>';
printf("<pre>%s</pre>",print_r($data,TRUE));
你能告诉我在pre结尾的
1
是什么吗?为什么会这样?我怎样才能解决这个问题

更新

出于什么原因,堆栈溢出输入框不会在数组结果的末尾显示
1
!我也将把这张图片放在这里作为参考


问题在于您的echo语句中使用了comas而不是句点来联系echo字符串。应该这样读:

echo“”。打印(数据)。”;
您需要使用

第二个参数是要输出还是返回打印的数组。默认情况下,它被设置为false,因此将就地打印,返回1表示成功

由于您在第行中使用
print\r
(连接它),因此需要将其作为字符串返回


您需要通过传递TRUE以字符串形式返回print\r的输出

echo“”。打印($data,TRUE)。“”;
就我个人而言,printf穿上这件衣服看起来更漂亮一些

printf(“%s”,print_r($data,TRUE));
此处参考: 试试这个:


echo';打印(数据);回声'

谢谢Brian Bolli,但pre仍然坐在那里!谢谢jbrahy,但是pre仍然坐在那里!您的页面是否使用HTML内容类型?不解析听起来像是内容类型text/plain,明白了,谢谢。我使用的是json内容类型标题,谢谢提醒。你不会碰巧启用了旧版本的PHP或magic quotes吧?嗨,Brian,我几个月前安装了MAMP,所以我认为它不是旧版本!但是关于启用了magic quotes,我不确定如何检查它?MAMP应该有办法在浏览器中加载phpinfo()输出。一旦加载到浏览器中,点击+F打开搜索框并键入magic。
<pre>Array
(
    [0] => Array
        (
            [id] => 1
            [age] => 35
            [name] => Ben
            [sex] => M
        )

    [1] => Array
        (
            [id] => 2
            [age] => 64
            [name] => Rose
            [sex] => F
        )

    [2] => Array
        (
            [id] => 3
            [age] => 31
            [name] => Mar
            [sex] => F
        )

    [3] => Array
        (
            [id] => 4
            [age] => 14
            [name] => Mollan
            [sex] => M
        )

)            1</pre>
print_r($data, true);
echo '<pre>' . print_r($data, TRUE) . '</pre>';
printf("<pre>%s</pre>",print_r($data,TRUE));