【问题标题】:PHP foreach skip iterate in an arrayPHP foreach 在数组中跳过迭代
【发布时间】:2013-03-30 21:04:04
【问题描述】:

当我收到“未定义索引”时,我想随时跳过 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'];
    ?>

如果我没有 if is_null 语法,代码会中断,但我会收到错误,即 cover_photo 索引未定义(这是正常行为)。至少如果我不能显示错误就足够了。

【问题讨论】:

  • 如果我理解正确,我认为你应该使用 isset()。试试这个: if (!isset($album['cover_photo'])) continue;
  • 像魅力一样工作,谢谢:)

标签: php foreach arrayiterator


【解决方案1】:

不如试试,

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

或者最好在分配之前检查变量isset

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 2011-08-08
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 2014-09-10
    • 2023-03-15
    相关资源
    最近更新 更多