【发布时间】:2021-04-06 08:56:42
【问题描述】:
我有以下 PHP 代码:
$array = array('huey' => 'red', 'dewey' => 'blue', 'louie' => 'green', 'webby' => 'pink');
$postDataForLog = print_r($array, true);
$postDataForLog = str_replace('\n', ' | ', $postDataForLog);
log($postDataForLog);
我想要实现的目标很简单。将数组的内容写入日志文件。为了使文件井井有条,我需要将每条日志消息放在一行上。所以我想将print_r的输出减少到一行,并用|替换换行符。但是,由于某种原因,这不起作用,虽然我希望文件中的输出是这样的:
Array | ( | [huey] => red | [dewey] => blue | [louie] => green | [webby] => pink | )
是这样的:
Array
(
[huey] => red
[dewey] => blue
[louie] => green
[webby] => pink
)
【问题讨论】:
-
使用单引号意味着
'\n'是\n,更灵活的是将'\n'替换为PHP_EOL。您也可以使用json_encode()输出它。 -
该死,这样的初学者错误。非常感谢,这行得通。
标签: php arrays logging replace line-breaks