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