如何控制PHP的print_r()方法的空白

时间:2017-10-20 10:01:59

标签: php whitespace

当我使用print_r($array);方法时,我的PHP缩进副本有四个空格。如何更改此设置以使用X个空格(或制表符)?我发现php.ini文件没有列出任何相关内容。

3 个答案:

答案 0 :(得分:3)

如何将它保存到var,而不是对它进行修改(在函数中)? print_r没有特殊设置来根据文档修改输出。

$var = print_r($your_array, true);
$var = str_ireplace('    ',' ',trim($var));
var_dump($var);

答案 1 :(得分:1)

由于文档没有指定这一点,我已经搜索了PHP源代码,以查看print_r做了什么以及它获得缩进值的位置。

4个空格被硬编码到源中。 print_r()后面的C函数在到达实际生成输出的the one之前会经过其他几个函数,并且此函数使用PRINT_ZVAL_INDENT constant来确定每个缩进获得的空格数

该函数直接检索常量,它周围没有逻辑来查看是否有覆盖它的配置值或环境变量。因此,如果您想要修改此值以使print_r()缩进不同数量的空格,您必须检查源代码,将常量更改为4以外的其他值并编译PHP来源。

答案 2 :(得分:0)

实际上,缩进是由" pre" html的标签@see here 要实际编辑缩进,请使用css作为

pre {
    display: block;
    font-family: monospace;
    white-space: pre;
    margin: 1em 0;
}

并编辑白色间距的正确性。