我有一个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”时显示“Nothing Found”。因为它在一个foreach里面,它会多次出现。
我几乎尝试了所有东西,但它正在杀死我...
任何人都知道如何才能做到这一点?
日Thnx
答案 0 :(得分:0)
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"
{
答案 1 :(得分:0)
你的代码真的不是......理想。
我认为您的问题是&&
比||
更接近,改变了if
的条件。
我建议将其更改为:
$allowed = array(
"086", "251", "250",
"249", ...
);
if (
($velg[11] === "IA") &&
(!$warningEmitted) &&
(in_array($velg[2], $allowed))
)
{
... snip ...
}
else
{
... snip ...
}
应解决您的问题和使其更具可读性。
答案 2 :(得分:0)
更好地使用数组:
$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;
}