帮助基本的PHP语法

时间:2011-02-12 18:17:31

标签: php

我需要一些PHP语法的帮助。 如何添加以下行

if ($month == $dbmonth) echo ' selected="selected"';

在以下行中,在选项值

$monthOptions .= "<option value=\"$month\"  >$month</option>\n";

看起来像:

<option value="3" selected="selected" > 3 </option> 

(假设$dbmonth = 3。)

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

echo '<option value="'.$month.'"'
     .($month==$dbmonth?' selected="selected':'')
     .'>'.$month.'</option>

我认为你的目标是什么(使用内联条件,(<condition>?<true outcome>:<false outcome>)

如果这是一个循环:

for ($month = 1; $month < 13; $month++)
  echo '<option value="'.$month.'"'
       .($month==$dbmonth?' selected="selected':'')
       .'>'.$month.'</option>

你也可以更清晰地分辨出来:

for ($month = 1; $month < 13; $month++)
{
  $selected = '';
  if ($month == $dbmonth)
    $selected = ' selected="selected"';
  echo "<option value=\"{$month}\"{$selected}>{$month}</option";
}

答案 1 :(得分:0)

你可以这样做。

$monthOptions .= "<option value=\"$month\""
if ($month == $dbmonth) $monthOptions .= ' selected="selected"';
$monthOptions .= ">$month</option>\n";

答案 2 :(得分:0)

其他建议有效,但为了便于阅读,我更喜欢:

$selected = ($month == $dbmonth) ? ' selected="selected"' : '';

$monthOptions .= "<option value=\"$month\" $selected >$month</option>\n";

意大利面条代码也较少,最终你可以转换到某种模板系统。