2013-04-08 145 views
0

我希望在我接收“未定义索引”时随时跳过php foreach中的迭代。这是我到目前为止的代码:PHP foreach跳过数组中的迭代

<?php 
$albums = $facebook->api("/me/albums"); 
$i=0; 
foreach ($albums['data'] as $album) { 
    if (is_null($album['cover_photo'])) continue; 
    if($i==8) break; 
    $album_id = $album['id']; 
    $album_cover = $album['cover_photo']; 
    $album_name = $album['name']; 
    $album_count = $album['count']; 
    $covers = $facebook->api("/" . $album_cover . ""); 
    $source = $covers['source']; 
    ?> 

如果我没有,如果is_null语法的代码休息,但我收到cover_photo指数未定义错误(这是正常的行为)。至少如果我不能显示这个错误,那就足够了。

+1

如果我理解正确,我认为你应该使用isset()。试试这个:if(!isset($ album ['cover_photo']))continue; – Yellowledbet 2013-04-08 17:08:34

+0

工程就像一个魅力,谢谢:) – 2013-04-08 17:16:56

回答

1

而是尝试,

if (!isset($album['cover_photo'])) continue; 

或者更好的分配之前检查变量isset

$album_cover = (isset($album['cover_photo'])) ? $album['cover_photo'] : '';