如何控制PHP的print_r()方法的空格
当我使用print_r($array);
方法时,我的PHP缩进副本由四个空格组成。如何将此设置更改为使用X个空格(或制表符)? Offhand我没有看到php.ini文件列出的相关内容。如何控制PHP的print_r()方法的空格
如何将它保存到一个变种,并对它进行修改(在函数中)?根据文档,print_r没有特殊设置来修改输出。
$var = print_r($your_array, true);
$var = str_ireplace(' ',' ',trim($var));
var_dump($var);
有趣的...还有你*有点*错过了一部分,但我看到你的意图*路径。由于我没有澄清四个空格应该替换的内容,因此我拿了四个空格替换为一个例子。如果我必须做深入的调试,我总是会做一些诸如'echo'
';print_r($array);echo '';'。我想如果这不仅仅是一种刺激,我可以坚持这个功能。 – John
无论如何你为什么这么做?只需将它以javascript和console.log函数打印到浏览器控制台即可。您的浏览器将在控制台中设置它,并且您的网页不受影响。使用print_r来进行除了调试之外的任何事情都非常糟糕。 –
等一下,JavaScript呢?我只是想改变空白PHP输出的数量,而不是用CSS来设计代码。 – John
由于文档没有说明这一点,我搜索了PHP源代码,看看print_r
做什么以及它在哪里得到它的缩进值。
将4个空格硬编码到源代码中。在print_r()
后面的C函数在到达the one之前会经过其他几个函数,它们实际上会生成您获得的输出,并且此函数使用PRINT_ZVAL_INDENT
constant来确定每个缩进得到的空间数量。
该函数直接检索常量,它周围没有任何逻辑来查看是否有配置值或覆盖它的环境变量。所以如果你想修改这个值来使print_r()
缩进不同数量的空格,你必须查看源代码,将常量改为4
以外的东西并从源代码编译PHP。
“[..]并从源代码编译PHP。“ - 我喜欢你解决这个问题的风格 –
为什么你需要这个? –
我不认为这是可能的,但你为什么想? – rickdenhaan
我为什么不呢?你们两个有你自己的喜好,我有我的。也许我的水平屏幕分辨率是120px,1,200px或12,000px。能够调整空白输出将允许我在测试期间更快地处理输出数据。 – John