نمایش آرایه به صورت درخت

۶ سال پیش(به روز شده در ۶ سال پیش) پی اچ پی(PHP)(توابع) ۰(غیر فعال)

تابع print_r برای نمایش متغیر مخصوصا آرایه ها بسیار پر کاربرد است و قطعا برنامه نویسان php بارها با آن برخورد داشته اند. بعنوان مثال:

print_r(array('country' => array('country1', 'country2'), 'book' => array('book1','book2')));

---------------------------out----------------------------- Array ( [country] => Array ( [0] => country1 [1] => country2 ) [book] => Array ( [0] => book1 [1] => book2 ) )

اما گاهی با آرایه های بزرگی سروکار داریم که نمایش آنها جز سردرگمی نتیجه ای بدست نخواهد داد یعنی لازم است تا ریشه هایی که نیاز به نمایش ندارند را بسته نگه داشت بدین منظور نمایش درخت وار در حالتی که با کلیک بر روی هر شاخه , زیرشاخه آن به نمایش در آید می تواند بررسی نمایش آرایه ها را دلچسبتر و قابل فهم تر کند.  

function print_r_tree($data)
{
    $out = print_r($data, true);
    $out = preg_replace('/([ \t]*)(\[[^\]]+\][ \t]*\=\>[ \t]*[a-z0-9 \t_]+)\n[ \t]*\(/iUe',
        "'\\1<a href=\"javascript:toggleDisplay(\''.(\$id = substr(md5(rand().'\\0'), 0, 7)).'\');\">\\2</a><div id=\"'.\$id.'\" style=\"display: none;\">'",
        $out);
    $out = preg_replace('/^\s*\)\s*$/m', '</div>', $out);
    echo '<script language="Javascript">function toggleDisplay(id) { document.getElementById(id).style.display = (document.getElementById(id).style.display == "block") ? "none" : "block"; }</script>' .
        "\n$out";
}


print_r_tree(array('country' => array('country1', 'country2'), 'book' => array('book1', 'book2')));

--------------------------------out-------------------------------------
Array
(
    [country] => Array
    [book] => Array
)

برچسبها

هیچ برچسبی موجود نیست.

صفحات پیشنهادی

مرتب سازی آرایه های چند بعدی با استفاده از اندیس خاص (sort array)...

تابع زیر آرایه مورد نظر را با توجه به اندیس ورودی مرتب سازی می کند. ورودی اول مربوط به آرایه , ورودی دوم مربوط به اندیس ای است که باید بر اساس آن مرتب سازی صورت گیرد و بخش سوم صعودی یا نزولی بودن ترتی...

تبدیل رشته به فرمت خاص...

با استفاده از تابع زیر رشته مورد نظر را به فرمت خاص تبدیل نمایید. این تابع برای تبدیل شماره تلفنها و ... مناسب است. به مثال مورد نظر توجه نمایید......

تابع تبدیل حجم فایل به فرمتهای مختلف...

تابع زیر حجم فایل را بررسی نموده و با توجه به اندازه آن , حجم را با فرمت مناسب نمایش می دهد. function formatFileSize( $size ) { $file_size = $size; $i = 0;   $name = array( 'byte', 'kB',...

تابع محاسبه طول رشته با یونیکد utf-8...

دو تابع جهت بررسی طول یک رشته utf8. function strlen_utf8( $str ) { return mb_strlen( $str, 'UTF-8' ); }   //or... function strlen_utf8( $str ) { $c = 0; $len = strlen( $str ); ...