Avatar ·

Cómo guardar el resultado de var_dump() en una cadena en PHP

¡Hola a todos! Soy nuevo en PHP y me encontré con este problema.

Necesito obtener un dump de una variable (array u objeto) como una cadena para escribirlo en un archivo de log o enviarlo por email para depuración. La función var_dump() muestra muy bien la estructura de datos, pero imprime el resultado directamente en el navegador o consola. Y yo necesito guardar esa salida en una variable de tipo string.

Aquí hay un ejemplo del código con el que trabajo:

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

// var_dump imprime directamente en la salida
var_dump($data);

// Necesito algo como:
// $logString = var_dump_to_string($data);
// file_put_contents('debug.log', $logString);
?>

Probé usar print_r(), pero no muestra los tipos de datos (por ejemplo, no se ve que una cadena es una cadena y un número es un número). var_export() imprime código PHP válido, pero no es lo que necesito.