foreach输出两个数组,先跳过


foreach outputs two arrays skip first

可能重复:
如何跳过foreach循环中的元素

我有以下前臂:

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
        )
)

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

但是,当我使用write-print_r($document(时,如何去掉那个数组,使它不会被打印出来呢?

使用带有递增索引说明符的标准for循环并跳过第一个元素。

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

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

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

最简单的方法是完全删除第一个数组,但我猜你做不到。不用担心-这应该让你涵盖:

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

编辑:我在Codepad.org上为您创建了一个测试用例。