№6
Расширенная версия функции print_r, позволяет выводить массив до определенной глубины, а не полностью
/**
* Функция аналог print_r, за исключением того что выводит не всю глубину
* массива или объекта, а только указанную, возвращая строку с выводом.
*
* @param any $v переменная для вывода
* @param integer $maxdepth максимальная глубина,
* если $maxdepth < 0 - то глубина будет неограниченной
* @param integer $prepend_spaces количество пробелов перед строкой
* с текстом. Как правило использовать не нужно, будет работать само.
* @return string возвращает строку (в отличии от print_r не делает echo)
*/
function print_r_slice($v,$maxdepth=-1,$prepend_spaces=0)
{
$result = '';
if (is_array($v) || is_object($v))
{
if ($maxdepth!=0)
{
foreach($v as $key=>$val)
{
$result .= "\n".str_repeat(' ',$prepend_spaces) . ("[" . $key
. "] => " . print_r_slice($val,$maxdepth-1,
$prepend_spaces + strlen($key) + 6) );
}
}
else
{ $result .= " Array() "; }
}
else
{ $result .= $v; }
return $result;
}