0

選択した属性をSESSIONに保存されている年に指定しようとしています(スクリプトでは、1990-06-27の日付を投稿したのが私が話しているSESSIONです)。$ monthはすべてうまくいきますが、同じようにすると、$ yearのIfステートメントが機能せず、その理由がわかりません。

list($y,$m,$d)=explode('-', "1990-06-27");     
for($month=1; $month<=12; $month++) {
    $monthName = date("F", mktime(0, 0, 0, $month));
    $month = date("m", mktime(0, 0, 0, $month));
    $luni = array ('January' => 'Ianuarie', 'February' => 'Februarie', 'March' =>     'Martie', 'April' => 'Aprilie', 'May' => 'Mai', 'June' => 'Iunie', 'July' => 'Iulie', 'August' => 'August', 'September' => 'Septembrie', 'October' => 'Octombrie', 'November' => 'Noiembrie', 'December' => 'Decembrie');
        If($m === $month) { 
            $selected = 'selected="selected"';
            $monthOptions .= "<option value=\"{$month}\" $selected>{$luni[$monthName]}</option>\n";
        } else {
            $monthOptions .= "<option value=\"{$month}\">{$luni[$monthName]}</option>\n";
        }
}

$an_curent = date("Y", time());
for($year = $an_curent - 80; $year <= $an_curent - 16; $year++) {
    If($y === $year) { 
        $selected = 'selected="selected"';
        $yearOptions .= "<option value=\"{$year}\" $selected>{$year}</option>\n";  
    } else {
        $yearOptions .= "<option value=\"{$year}\">{$year}</option>\n";  
    }
}
4

1 に答える 1

2

$yearは整数$yですが、文字列です。したがって、===演算子は常に false を返します。を使用==すると、これが修正されます。

于 2012-10-03T20:07:35.823 に答える