یک var_dump خوشگل

پرسیده شده
فعالیت 1445 روز پیش
دیده شده 968 بار
1

با عرض سلام خسته نباشید امروز میخام در مورد یک موضوع مهم صحبت کنم حتما دوست دارید که آرایه هایی در زبان محبوب من  php  نوشته میشه رو به شکل تر تمیز تری ببینید خب پس صدرصد رفتید سراغ تابع var_dump اما ظاهر مناسبی نداره و یکم بهم ریخته هستش من امروز یک تابع رو نوشتم که یکم دستکاری کردم تو خروجی ها و به شکل جالبی و قشنگی داخل نمایش در آوردم که امیدوارم به دردتون بخوره

 

 

function my_dump(...$args)
{
    echo '<style>address{display:inline-block;}</style>';
    $tab = '   ';
    $repeat_tab = count(debug_backtrace()) - 1;
    if (count(debug_backtrace()) < 5) {
        foreach ($args as $arg) {
            if (count(debug_backtrace()) == 1) {
                echo '<pre><small>' . debug_backtrace()[0]['file'] . ':' . debug_backtrace()[0]['line'] . ':</small>';
            }
            switch (gettype($arg)) {
                case 'array':
                    echo PHP_EOL;
                    echo str_repeat($tab, $repeat_tab++) . '<b>array</b> (size=' . count($arg) . ') ' . PHP_EOL;
                    foreach ($arg as $key => $value) {
                        echo str_repeat($tab, $repeat_tab) . '\'' . $key . '\' <font color="#888a85">=></font> ';
                        if ($arg === $value) {
                            echo PHP_EOL . str_repeat($tab, $repeat_tab + 1) . '<b>&array<</b>';
                            continue;
                        }
                        my_dump($value);
                    }
                    echo PHP_EOL;
                    break;

                case 'object':
                    echo PHP_EOL;
                    echo str_repeat($tab, $repeat_tab) . '<b>object</b>(' . get_class($arg) . ')' . PHP_EOL;
                    foreach ($arg as $key => $value) {
                        echo str_repeat($tab, $repeat_tab + 1) . '<i>public</i> \'' . $key . '\' <font color="#888a85">=></font> ';
                        if ($arg === $value) {
                            echo str_repeat($tab, $repeat_tab + 1) . '<b>&object<</b>';
                            continue;
                        }
                        my_dump($value);
                    }
                    echo PHP_EOL;
                    break;

                case 'string':
                    echo '<small>string</small> <font color="#cc0000">\'' . $arg . '\'</font> <i>(length=' . strlen($arg) . ')</i>' . PHP_EOL;
                    break;

                case 'boolean':
                    echo '<small>boolean</small> ';
                    echo $arg ? '<font color="#75507b">true</font>' : '<font color="#75507b">false</font>';
                    echo PHP_EOL;
                    break;

                case 'double':
                    echo '<small>float</small> <font color="#f57900">' . $arg . '</font>' . PHP_EOL;
                    break;

                case 'integer':
                    echo '<small>int</small> <font color="#4e9a06">' . $arg . '</font>' . PHP_EOL;
                    break;

                case 'NULL':
                    echo '<font color="#3465a4">null</font> ' . PHP_EOL;
                    break;

                case 'resource':
                    echo 'resource(3) of type (';
                    echo get_resource_type($arg) . ')' . PHP_EOL;
                    break;

                case 'resource (closed)':
                    echo 'resource(3) of type (';
                    echo get_resource_type($arg) . ')' . PHP_EOL;
                    break;

                default:
                    echo 'this variable is not define !' . PHP_EOL;
                    break;
            }
        }
    }

    echo (count(debug_backtrace()) == 1) ? '</pre>' : '';
}

 

فایل پیوست

علی رضوی
علی رضوی

25 اردیبهشت 99

1
حذف شده

 

 

فایل پیوست

علی رضوی

توسط

علی رضوی

26 اردیبهشت 99

حذف شده
خالیه؟!!
یوسف آرمات

15 خرداد 99

حذف شده
نه اوکیه
علی رضوی

17 تیر 99