تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ علی رضوی
یک var_dump خوشگل
جامعه پی اچ پی ایجاد شده در ۲۵ اردیبهشت ۱۳۹۹

با عرض سلام خسته نباشید امروز میخام در مورد یک موضوع مهم صحبت کنم حتما دوست دارید که آرایه هایی در زبان محبوب من  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>' : '';
}

 

 

 

علی رضوی ۲۶ اردیبهشت ۱۳۹۹، ۱۸:۱۵