Avatar ·

如何在 PHP 中将 var_dump() 的结果保存为字符串?

大家好!我是 PHP 新手,遇到了一个问题。

我需要将变量(数组或对象)的 dump 以字符串形式获取,以便写入日志文件或通过 email 发送用于调试。var_dump() 函数能很好地显示数据结构,但它会直接将结果输出到浏览器或控制台。而我需要将这个输出保存到字符串变量中。

以下是我正在使用的示例代码:

<?php
$data = [
    'name' => 'Иван',
    'age' => 30,
    'skills' => ['PHP', 'JavaScript', 'Python']
];

// var_dump 直接输出
var_dump($data);

// 我需要类似这样的功能:
// $logString = var_dump_to_string($data);
// file_put_contents('debug.log', $logString);
?>

我尝试过使用 print_r(),但它不显示数据类型(例如,看不出字符串是字符串,数字是数字)。var_export() 输出有效的 PHP 代码,但这不是我需要的。