2013-04-08 123 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'] : '';