Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP print_r函数不嵌套打印的数组_Php_Arrays - Fatal编程技术网

PHP print_r函数不嵌套打印的数组

PHP print_r函数不嵌套打印的数组,php,arrays,Php,Arrays,我使用print\r函数打印从数据库表中获取的数组。而不是像这样的格式良好的数组: Array ( [0] => Array ( [id] => 1 [firstname] => Firstname one [lastname] => Lastname one ) [1] => Array ( [id] =

我使用
print\r
函数打印从数据库表中获取的数组。而不是像这样的格式良好的数组:

Array
(
    [0] => Array
        (
            [id] => 1
            [firstname] => Firstname one
            [lastname] => Lastname one
        )

    [1] => Array
        (
            [id] => 2
            [firstname] => Firstname two
            [lastname] => Lastname two
        )

    [2] => Array
        (
            [id] => 3
            [firstname] => Firstname three
            [lastname] => Lastname three
        )
)
Array ([0] => Array ([id] => 1 [firstname] => Firstname one [lastname] => Lastname one ) [1] => Array ([id] => 2 [firstname] => Firstname two...
我得到了内联结果,如下所示:

Array
(
    [0] => Array
        (
            [id] => 1
            [firstname] => Firstname one
            [lastname] => Lastname one
        )

    [1] => Array
        (
            [id] => 2
            [firstname] => Firstname two
            [lastname] => Lastname two
        )

    [2] => Array
        (
            [id] => 3
            [firstname] => Firstname three
            [lastname] => Lastname three
        )
)
Array ([0] => Array ([id] => 1 [firstname] => Firstname one [lastname] => Lastname one ) [1] => Array ([id] => 2 [firstname] => Firstname two...
这是一个简单的例子,我的实际数组嵌套了三次,因此结果是大量的内联字符串块,这使得可读性很难


为什么我会得到这样的结果?

发生这种情况的原因很简单,因为您正在将纯文本直接打印到您的网页,该网页会自动重新格式化文本,幸运的是有一个解决方案

下面的代码将“漂亮地打印”您的PHP数组

echo "<pre>".print_r($array, true)."</pre>";
"; } 这可以节省您每次键入pre标记的大量时间/精力。用法:


发生这种情况的原因很简单,因为您正在将明文直接打印到您的网页上,该网页会自动重新格式化文本,幸运的是,有一个解决方案

下面的代码将“漂亮地打印”您的PHP数组

echo "<pre>".print_r($array, true)."</pre>";
"; } 这可以节省您每次键入pre标记的大量时间/精力。用法:


在打印之前和之后回显以稍微扩展该注释--
print\u r()
不生成HTML,而是生成纯文本。如果你想让它在浏览器中很好地显示,你必须添加标记。为什么?因为您正在网页上打印,而浏览器正在像其他文本一样重新格式化。
var\u dump
print\u r
var\u export
可能更好地与
高亮显示字符串
一起使用。打印前后回显以稍微扩展该注释--
print\r()
不会生成HTML,它生成纯文本。如果你想让它在浏览器中很好地显示,你必须添加标记。为什么?因为您正在网页上打印,而浏览器正在像其他文本一样重新格式化。
var\u dump
print\u r
var\u export
可能更好地与
高亮显示字符串一起使用。或者-如果您想避免使用
-标记,只需检查页面的源代码即可。它将以一种“漂亮”的方式显示阵列,没有
@dognose希望您不介意,我在回答中添加了这一点。非常好,谢谢!我将在一分钟内接受答案:)@GrumpyCrouton“无论什么原因”都是:键入字符串串联比在Chrome中“右键单击”->“检查元素”后键入
print\r($arr)
要花更多的时间,@dognose:)在这种情况下,为什么不创建一个包含pretags的新函数呢?或者-如果您想避免使用
-标记,只需查看页面的源代码即可。它将以一种“漂亮”的方式显示阵列,没有
@dognose希望您不介意,我在回答中添加了这一点。非常好,谢谢!我将在一分钟内接受答案:)@GrumpyCrouton“无论什么原因”都是:键入字符串串联比在Chrome中“右键单击”->“检查元素”后键入
print\r($arr)
要花更多的时间,@dognose:)在这种情况下,为什么不制作一个包含pretags的新函数呢?