忽略foreach中数组的前n个元素($ array as $ element)

时间:2013-10-31 09:58:39

标签: php

A部分:一般来说,有一种简单的方法可以在运行foreach($ array作为$ element)时忽略数组的前n个元素吗?

B部分:具体来说,应用程序处于我使用的回溯函数中,我知道前两个元素总是微不足道的,所以我希望将它们从输出中排除。我知道可以限制返回的堆栈帧数,但这是我想要忽略的第一对。我知道我可以使用循环计数器或类似方法来做到这一点,但想知道是否可能有更“优雅”的解决方案。

$array = debug_backtrace();
foreach ($array as $element) // but ignore the first two 
{
  $backtrace.="\n > ".$element['function']." -> line ".$element['line']." in ".$element['file'];
}

1 个答案:

答案 0 :(得分:3)

使用array slice

$array = debug_backtrace();
$output = array_slice($array , 2); 
foreach ($output as $element) // but ignore the first two 
{
  $backtrace.="\n > ".$element['function']." -> line ".$element['line']." in ".$element['file'];
}