Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में var_dump Result को String में Capture करना


PHP में var_dump() का output directly browser पर जाता है। इसे string variable में capture करने के लिए Output Buffering उपयोग करें।

मूल विधि: Output Buffering

<?php
function varDumpToString($var) {
    ob_start();              // Output buffering शुरू करें
    var_dump($var);          // Output buffer में जाता है
    $result = ob_get_clean(); // Buffer content प्राप्त करें और साफ करें
    return $result;
}

// उपयोग
$data = ['first', 'second', 'third'];
$result = varDumpToString($data);
echo $result;
// Output:
// array(3) {
//   [0]=>
//   string(5) "first"
//   [1]=>
//   string(6) "second"
//   [2]=>
//   string(5) "third"
// }

उन्नत: Formatted Output के साथ

<?php
function varDumpToStringFormatted($var, $label = null) {
    ob_start();
    
    if ($label) {
        echo "$label:\n";
    }
    
    var_dump($var);
    
    $output = ob_get_clean();
    
    // HTML context के लिए 
 tags add करें
    if (PHP_SAPI !== 'cli') {
        $output = '
' . htmlspecialchars($output) . '
'; } return $output; } // Multiple variables function dumpAll(...$vars) { ob_start(); foreach ($vars as $i => $var) { echo "--- Var $i ---\n"; var_dump($var); } return ob_get_clean(); }

विकल्प: var_export() (Parsable PHP Code)

<?php
$data = ['name' => 'अमित', 'age' => 25, 'active' => true];

// var_export returns valid PHP code
$code = var_export($data, true); // true = return string
echo $code;
// Output: array ( 'name' => 'अमित', 'age' => 25, 'active' => true, )

// eval() कर सकते हैं (सावधानी से)
$restored = eval("return $code;");

विकल्प: print_r() (Simpler Output)

<?php
function printRToString($var) {
    ob_start();
    print_r($var);
    return ob_get_clean();
}

// या PHP 4.3+ में print_r का दूसरा पैरामीटर
$str = print_r($data, true); // true = return string

Comparison

FunctionOutput StyleReturns Parsable CodeTypes Shown
var_dump()Detailed (type + length)नहींहाँ
var_export()PHP codeहाँहाँ
print_r()Human-readableनहींसीमित
json_encode()JSONJSON parsableकेवल public

Debugging Helper Class

<?php
class Debug {
    public static function dump($var, $label = null, $return = false) {
        ob_start();
        if ($label) echo "$label\n";
        var_dump($var);
        $output = ob_get_clean();
        
        if ($return) return $output;
        
        if (PHP_SAPI === 'cli') {
            echo $output;
        } else {
            echo '
' 
               . htmlspecialchars($output) . '
'; } } public static function dumpDie($var, $label = null) { self::dump($var, $label); die; } } // उपयोग Debug::dump($user, 'User Object'); $logString = Debug::dump($data, 'API Response', true); // String के लिए file_put_contents('debug.log', $logString, FILE_APPEND);
  1. - PHP में वेरिएबल नाम को स्ट्रिंग के रूप में कैसे प्राप्त करें

    PHP में वेरिएबल नाम को स्ट्रिंग के रूप में प्राप्त करना उदाहरण 1: वेरिएबल वेरिएबल्स () <?php $a = This is it!; $$a = Demo string!; print($a); ?> आउटपुट This is it! व्याख्या: $a में This is it! है। $$a वेरिएबल $This is it! बनाता है (मान्य लेकिन असामान्य)। यह **वेरिएबल नाम प्राप्त नहीं करत

  1. - PHP में स्ट्रिंग को बूलियन में कैसे कन्वर्ट करें?

    PHP में स्ट्रिंग को बूलियन में कन्वर्ट करने के लिए, कोड इस प्रकार है। filter_var() मेथड का उपयोग करें: उदाहरण <?php echo Displaying Sunday as first day of a week...\n; $res = date(l - d/m/Y, strtotime(sunday 0 week)); echo First day (next week) = , $res . \n; var_dump(filter_var($res, FILTER_VA

  1. - पायथन में स्ट्रिंग की शुरुआत या अंत में टेक्स्ट कैसे मिलान करें

    समस्या मान लीजिए आपको किसी स्ट्रिंग की शुरुआत या अंत में विशिष्ट टेक्स्ट पैटर्न की जांच करने की आवश्यकता है। सामान्य पैटर्न फाइल एक्सटेंशन हो सकते हैं लेकिन यह कुछ भी हो सकता है। मैं आपको कुछ तरीके दिखाऊंगा कि आप यह कैसे कर सकते हैं। startswith() मेथड स्ट्रिंग की शुरुआत की जांच करने का एक सरल तरीका