0

「未定義のインデックス」を受け取ったときに、いつでも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'];
    ?>

ifis_null構文がない場合、コードは壊れますが、cover_photo インデックスが定義されていないというエラーが表示されます (これは通常の動作です)。少なくともエラーを表示できなければ、それで十分です。

4

1 に答える 1

1

代わりに、

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

issetまたは、変数を割り当てる前に変数を確認してください。

$album_cover = (isset($album['cover_photo'])) ? $album['cover_photo'] : '';
于 2013-04-08T17:06:30.703 に答える