尝试用php编写正确的if语句

尝试用php编写正确的if语句,php,Php,我正绞尽脑汁想怎么做。。。我有一个选择菜单,我想显示为默认菜单,如果某些项目出现在购物车中,则另一个菜单 比如说我卖狗和车。在购物车中,我选择了其中一个。我想一个选择菜单出现,如果有任何汽车在车。但是,如果有任何狗在车或猫的问题,我想一个不同的选择与不同的选项出现。所以如果车里有什么东西,car_select将是默认的…(我卖了很多东西),但是如果车里出现了狗,那么dog_select将取代它 现在的写法。默认值是最后一件事,这就是显示的内容。 (见我的评论) 因此,代码: <?php f

我正绞尽脑汁想怎么做。。。我有一个选择菜单,我想显示为默认菜单,如果某些项目出现在购物车中,则另一个菜单

比如说我卖狗和车。在购物车中,我选择了其中一个。我想一个选择菜单出现,如果有任何汽车在车。但是,如果有任何狗在车或猫的问题,我想一个不同的选择与不同的选项出现。所以如果车里有什么东西,car_select将是默认的…(我卖了很多东西),但是如果车里出现了狗,那么dog_select将取代它

现在的写法。默认值是最后一件事,这就是显示的内容。 (见我的评论)

因此,代码:

<?php
foreach($this->rows as $i => $row){

if (strstr('dogs',$row->dates)) {
$mydates = 'dogs';
} else {$mydates='default';}


//echo $row->dates; this spits out the correct values dogcar


}
//echo $mydates; with a dog and a car in the cart this returns default
//below functions i believe but i think the above is faulty 
?>
<?php 
if ($mydates =='dogs'){
//do something here;} else {

    $type = $this->type;
    foreach($this->extraFields[$type] as $fieldName => $oneExtraField) {
     if ($fieldName != 'pickupdate-rosh'){; ?>
        <tr class="hikashop_checkout_<?php echo $fieldName;?>_line">
            <td class="key">
                <?php echo $this->fieldsClass->getFieldName($oneExtraField);?>
            </td>
            <td>
                <?php 

                        echo $this->fieldsClass->display($oneExtraField,$this->$type->$fieldName,'data['.$type.']['.$fieldName.']'); 
                ?>
            </td>
        </tr>
<?php } ?>
    <?php } ?>
<?php } ?>


看起来您正在设置
$mydates
,然后(可能)覆盖它。这是因为您正在为
foreach
循环的所有迭代将一个变量设置为一个结果,最后一次迭代将是最终变量值

因此,将
$mydates
设置为默认值,然后在条件正确时进行更改

$mydates='default';
foreach($this->rows as $i => $row){
    if (strstr('dogs',$row->dates)) {
        $mydates = 'dogs';
    }
    //echo $row->dates; this spits out the correct values dogcar
}

谢谢,我总是在循环中感到困惑!另一个问题:若我想让“狗”代表另一组可以覆盖的动物。。你会用另一个foreach吗?是的,这些通常是Doh!给我的时刻。至于你的第二个问题,我不确定我是否遵循了你的意图。好吧,在我搜索狗的地方,我实际上有5个不同的词要搜索。。。我在想,我可以创建一个数组(狗、猫、鸟),然后在一个if语句中搜索它们,而不是进行多次搜索。我认为写它可能是一个更好的方法?如果你有一个搜索词数组,你可以用另一个数组来搜索一个数组。性能可能会有所不同,但除非您有很多并发请求,否则我认为您会很好。