【问题标题】:How to use loop in php如何在php中使用循环
【发布时间】:2016-04-22 19:31:20
【问题描述】:

我的 $array 有 32 个值,我想使用循环,但我不知道。

if ( $array[0]  > 1)
{
    echo $array[0];
    unset($array[0]);
}

else if ( $array[1]  > 1)
{
    echo $array[1];
    unset($array[1]);
}

else if ( $array[2]  > 1)
{
    echo $array[2];
    unset($array[2]);
}
else
{
    echo  "<a href=' ".$_SERVER['PHP_SELF']."?month=".$monthstring."&day=".$daystring."&year=".$year." '>".$i." </a></td>";
}

【问题讨论】:

标签: php arrays loops


【解决方案1】:

我猜是这样的

foreach($array as $index => $value)
{
    if ($value > 1)
    {
        echo $value;
        unset($array[$index]);
    }
    else
    {
        echo  '<a href="', $_SERVER['PHP_SELF'], '?month=', $monthstring, '&day=', $daystring, '&year=', $year, '>', $index, '</a>';
    }
}

【讨论】:

  • 那还有什么问题?您想在哪一点停止循环?可能是我错过了一点。您可能会使用 Barmar 的解决方案,但您可以避免 $deleted 变量并在 else 括号中的 echo 之后立即刹车。
【解决方案2】:

使用foreach循环,并在取消设置大于1的第一个元素后跳出它。使用变量来跟踪是否删除了任何内容,因此您知道是否在循环后回显锚点。

$deleted = false;
foreach ($array as $index => $value) {
    if ($value > 1) {
        echo $value;
        unset($array[$value]);
        $deleted = true;
        break;
    }
}
if (!$deleted) {
    echo  "<a href=' ".$_SERVER['PHP_SELF']."?month=".$monthstring."&day=".$daystring."&year=".$year." '>".$i." </a></td>";
}

【讨论】:

    【解决方案3】:

    否则就是整个循环之后,我觉得应该是这样的:

    $found = false;
    foreach($array as $index => $value)
    {
        if ($value > 1)
        {
            echo $value;
            unset($array[$index]);
            $found = true;
            break;
        }
    }
    if(!$found) { 
        echo  '<a href="', $_SERVER['PHP_SELF'], '?month=', $monthstring, '&day=', $daystring, '&year=', $year, '>', $index, '</a>';
    }
    

    【讨论】:

    • 原始代码只回显和取消设置找到的第一个值,而不是全部。这就是为什么我的回答会跳出循环。
    猜你喜欢
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2018-08-23
    相关资源
    最近更新 更多