foreach输出两个数组首先跳过

时间:2013-01-04 13:45:23

标签: php arrays foreach

  

可能重复:
  how to skip elements in foreach loop

我有以下预告:

foreach($documents as $document): 
    print_r($document);
endforeach; 

其中输出以下内容:

Array
(
    [num] => 2
)
Array
(
    [0] => Array
        (
            [name] => Batman
            [url] => http://batman.com
        )

    [1] => Array
        (
            [name] => Superman
            [url] => http://superman.com
        )

)

第一个包含[num] =>的数组2,打印结果时我不想在我的foreach中使用。

但是如何摆脱那个数组,以便在使用write print_r($ document)时不打印?

3 个答案:

答案 0 :(得分:3)

使用带有递增索引说明符的standard for loop并跳过第一个元素。

for($i = 1; $i < count($documents); $i++) {
  print_r($documents[i]);
}

答案 1 :(得分:1)

foreach保持一致,您可以使用continue

$first = true;

foreach($documents as $document) {
    if($first) {
        $first = false;
        continue;
    }

    print_r($document);
}

答案 2 :(得分:0)

最简单的方法是完全删除第一个数组,但我的猜测是你不能这样做。不用担心 - 这应该包括你:

for( $i = 1; $i < count($documents); $i++ ):
   print_r($documents[$i]);
endfor;

修改:我创建了a test case for you on Codepad.org