0

これが私のコードです:

echo '<select  name=\"sv_07\">';   
$vars = array(
'Year' => 'Year'
'-2012' => '2012', 
'-2011' => '2011', 
'-2010' => '2010', 
'-2009' => '2009', 
'-2008' => '2008', 
'-2007' => '2007', 
'-2006' => '2006', 
'-2005' => '2005', 
'Pre 2005' => 'Pre 2005', 
);

foreach($vars as $val => $name){
if($_SESSION['sv_07'] == $val){
    echo '<option value="' . substr($val, 0, 1) . '" selected>' . $name . '</option>';
} else {
    echo '<option value="' . substr($val, 0, 1) . '">' . $name . '</option>';
}
}

echo '</select></div>';

ご覧のとおり、PHPを使用してフォームのタグをエコーし​​、次に2セットのHTMLの1つをエコーし​​ようとしています。1つは以前にセッションに送信された値と一致する場合、もう1つは他のすべてのセットです。

それは機能せず、エラーを見つけることができません。

http://ideone.comでデバッグしようとすると、次のエラーメッセージが表示されます。

**解析エラー:構文エラー、予期しないT_ENCAPSED_AND_WHITESPACE、16行目の/home/4seOiK/prog.phpにT_STRINGまたはT_VARIABLEまたはT_NUM_STRINGが必要です

16行目:

 if($_SESSION['sv_07'] == $val){

私はいくつかの手動デバッグを試し、if要件を次のようなものに変更しました

if(1> 2)

そして、エラーは消えますが、私が一生の間、構文の何が問題になっているのかを知ることができません。

誰かが私がどこで間違っているのか見ることができますか?ありがとう。

4

2 に答える 2

2

後のカンマの欠落'Year' => 'Year'

于 2012-07-09T23:08:25.437 に答える
0

配列キー(文字列であっても)をダッシュ​​で開始できるかどうかはわかりません。

于 2012-07-09T23:12:42.523 に答える