需要在php foreach循环中执行if语句

需要在php foreach循环中执行if语句,php,if-statement,foreach,Php,If Statement,Foreach,我正在使用Filemaker API,它类似于sql,基本上是从字段和列表中提取数据 我正在尝试在我的foreach循环中设置一个if语句,以便它将标记selected=selected添加到我的html中的select选项中 这是密码 <?php $layout =& $fm->getLayout('Leads'); $values = $layout->getValueList('LeadStatus'); $list_menu = '<select n

我正在使用Filemaker API,它类似于sql,基本上是从字段和列表中提取数据

我正在尝试在我的foreach循环中设置一个if语句,以便它将标记selected=selected添加到我的html中的select选项中

这是密码

<?php

$layout =& $fm->getLayout('Leads');

$values = $layout->getValueList('LeadStatus');

$list_menu = '<select name="LeadDocStatusSelect">';



foreach ($values as $value) 
    {
    $list_menu .='<option value="' . $value . '">' . $value . '</option>' ;
    }


$list_menu .= '</select>';
echo $list_menu;
?>
foreach循环的主体只是一个语句块,因此您可以输入任意数量的语句,例如:

foreach ($values as $value) {
    $list_menu .='<option value="' . $value . '">' . $value . '</option>';
    if ($businessJudgements == 'No') {
        echo 'checked="checked"';
    } else {
        echo '';
    }
}
这将根据需要为您提供选项标记,但值与默认值匹配的选项标记也将附加选定属性

假设$values包含数组{red,black,orange,yellow},那么出于回答的目的,您将在这里得到很好的格式化:

<option value="red">             red    </option>
<option value="black">           black  </option>
<option value="orange" selected> orange </option>
<option value="yellow">          yellow </option>

我假设您已经知道如何获得$BusinessDecision,所以代码应该是这样的

<?php

$layout =& $fm->getLayout('Leads');

$values = $layout->getValueList('LeadStatus');

$list_menu = '<select name="LeadDocStatusSelect">';



foreach ($values as $value) 
    {


    if ($businessJudgements == 'No') {
     $list_menu .='<option value="' . $value . '">' . $value . '</option>' ;
} else {
     $list_menu .='<option value="' . $value . '" selected >' . $value . '</option>' ;
}


    }


$list_menu .= '</select>';
echo $list_menu;
?>

这个允许我将if语句添加到变量?@user3795995,您没有将if语句添加到变量。而是在foreach中运行if来稍微修改正在构建的列表菜单。请参阅我的第二段代码,了解一种方法。这很有意义!我知道selected是正确的属性。是否需要“Selected=Selected”?@user3795995,不适用于HTML,只需自行选择即可。XHTML禁止最小化,因此需要selected=selected。编辑:现在好多了。
<option value="red">             red    </option>
<option value="black">           black  </option>
<option value="orange" selected> orange </option>
<option value="yellow">          yellow </option>
<?php

$layout =& $fm->getLayout('Leads');

$values = $layout->getValueList('LeadStatus');

$list_menu = '<select name="LeadDocStatusSelect">';



foreach ($values as $value) 
    {


    if ($businessJudgements == 'No') {
     $list_menu .='<option value="' . $value . '">' . $value . '</option>' ;
} else {
     $list_menu .='<option value="' . $value . '" selected >' . $value . '</option>' ;
}


    }


$list_menu .= '</select>';
echo $list_menu;
?>