1

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

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

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

1 回答 1

4

使用数组切片

$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'];
}
于 2013-10-31T10:02:00.093 回答