Php 每个循环的If-else语句

Php 每个循环的If-else语句,php,if-statement,foreach,Php,If Statement,Foreach,我有一个foreach循环,我想在其中添加一个if-else语句 这让我快发疯了,所以我非常欢迎任何帮助:) 代码如下: <?php if(isset($_POST['wiel_submit']) && $_POST['wiel_submit'] == "Zoek") { echo "\t\t\t\t\t<h2>".$stockselection."</h2> \t\t\t\t\t<br />\n"; $type = sp

我有一个foreach循环,我想在其中添加一个if-else语句

这让我快发疯了,所以我非常欢迎任何帮助:)

代码如下:

<?php
if(isset($_POST['wiel_submit']) && $_POST['wiel_submit'] == "Zoek")
{
    echo "\t\t\t\t\t<h2>".$stockselection."</h2>
\t\t\t\t\t<br />\n";
    $type = split("//", $_POST['wiel_type']);
?>
                    <ul class="wheels">
<?php
    $velgen = $wielclass->getWielenInformatie($_POST['wiel_merk'], $_POST['wiel_model'], $type[0], $_POST['wiel_inch']);
    $first = true;
    $vorigvelg = -1;
    $warningEmitted = false;
    foreach($velgen as $velg)
    {
        if($velg[11] === "IA" && !$warningEmitted && $velg[2] == "086" || $velg[2] == "251" || $velg[2] == "250" || $velg[2] == "249" || $velg[2] == "220" || $velg[2] == "217" || $velg[2] == "197" || $velg[2] == "182" || $velg[2] == "181" || $velg[2] == "180" || $velg[2] == "142" || $velg[2] == "141" || $velg[2] == "140" || $velg[2] == "139" || $velg[2] == "138" || $velg[2] == "137" || $velg[2] == "136" || $velg[2] == "135" || $velg[2] == "134" || $velg[2] == "132" || $velg[2] == "131" || $velg[2] == "130" || $velg[2] == "129" || $velg[2] == "128" || $velg[2] == "127" || $velg[2] == "126" || $velg[2] == "097" || $velg[2] == "096" || $velg[2] == "094"  || $velg[2] == "093" || $velg[2] == "092" || $velg[2] == "090" || $velg[2] == "122" || $velg[2] == "121" || $velg[2] == "120" || $velg[2] == "114" || $velg[2] == "112" || $velg[2] == "111" || $velg[2] == "109" || $velg[2] == "104" || $velg[2] == "103" || $velg[2] == "102" || $velg[2] == "099" || $velg[2] == "098" || $velg[2] == "123" || $velg[2] == "124" || $velg[2] == "125" || $velg[2] == "133" || $velg[2] == "071" || $velg[2] == "075" || $velg[2] == "084" || $velg[2] == "113" || $velg[2] == "108" || $velg[2] == "089" || $velg[2] == "073" || $velg[2] == "072" || $velg[2] == "101" || $velg[2] == "088")
        {

?>
                        <li><span class="title">Foto <?php echo $velg[2]; ?></span>
                            <a href="/portfolio/inter-action-<?php echo $velg[2]; ?>" class="preview" title="Fotonummer: <?php echo $velg[2]; ?>">
                                <img src="/wp-content/uploads/inter-action-<?php echo $velg[2]; ?>.jpg" alt="Fotonummer: <?php echo $velg[2]; ?>" class="wheelImg"/>
                            </a>
                            </span>
                        </li>
<?php
            $vorigvelg = $velg[2];
        }
        else
        {
            echo "Niets gevonden!";
            $warningEmitted = true;
        }

    }
?>
                    </ul>


<?php
}
?>

  • 福托
我试图做到的是,当找到“IA”并匹配某个数字时,用图像回显列表

未找到“IA”时,回显一次“未找到”

此时此刻,当“IA”被找到时,以及当“IA”未找到时,他正在显示“未找到”。而且因为它在foreach中,所以会多次显示

我几乎什么都试过了,但都快累死我了

有人知道我该怎么做吗


Thnx

if语句必须在每个||

if($velg[11] === "IA" && !$warningEmitted && $velg[2] == "086" || $velg[11] === "IA" && !$warningEmitted && $velg[2] == "086" $velg[2] == "251" || $velg[11] === "IA" && !$warningEmitted && $velg[2] == "086" $velg[2] == "250" 
{

你的代码真的不是。。。理想

我认为您的问题是
&&
绑定比
| |
更紧密,从而更改
if
的条件

我建议将其改为:

$allowed = array(
    "086", "251", "250",
    "249", ...
);
if (
    ($velg[11] === "IA") &&
    (!$warningEmitted) &&
    (in_array($velg[2], $allowed))
)
{
   ... snip ...
}
else
{
   ... snip ...
}
这将解决您的问题,并使其更具可读性。

更好地在数组中使用:

$values = array("086", "251", "250", "249", "220", "217", "197", "182", "181", "180", "142", "141", "140", "139", "138", "137", "136", "135", "134", "132", "131", "130", "129", "128", "127", "126", "097", "096", "094", "093", "092", "090", "122", "121", "120", "114", "112", "111", "109", "104", "103", "102", "099", "098", "123", "124", "125", "133", "071", "075", "084", "113", "108", "089", "073", "072", "101", "088");
if ($velg[11] === "IA" && !$warningEmitted && in_array($velg[2], $values)) {
    // statement
} else {
   $warningEmitted = true;
}

if语句很奇怪,有和或没有附加括号?你的意思是if($velg[11]==“IA”&&!$warningemissed&($velg[2]==“086”| |$velg[2]==“251”…)?