Avatar ·

كيفية حفظ نتيجة var_dump() في سلسلة نصية في PHP؟

مرحبًا بالجميع! أنا مبتدئ في PHP وواجهت هذه المشكلة.

أحتاج إلى الحصول على dump لمتغير (مصفوفة أو كائن) كسلسلة نصية، لتسجيله في ملف log أو إرساله عبر البريد الإلكتروني لتصحيح الأخطاء. الدالة 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 صالحًا، لكنه ليس ما أحتاجه.