2012-07-09 51 views
0

下拉菜单的形式时,这里是我的代码:错误创建使用PHP

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来呼应标签的形式,然后呼应的一个两套HTML - 如果一个值与先前提交给会话的值相匹配,另一个用于所有其他HTML。

它不起作用,但我找不到错误。

我试图在http://ideone.com调试,并得到该错误消息:

**解析错误:语法错误,意想不到的T_ENCAPSED_AND_WHITESPACE,第16行预计T_STRING或T_VARIABLE或T_NUM_STRING在/home/4seOiK/prog.php

第16行:

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

我已经尝试了一些手动调试,并改变了,如果要求像

如果(1> 2)

和错误消失,howevver我不能为我的生活中看到什么是错我的语法

任何人都可以看到,我错了?谢谢。

回答

2

缺少逗号'Year' => 'Year'

+0

> _ <我的上帝,感谢,似乎已经完全修复它。 不能相信那么小的事情会让一切如此艰难! :)你的回答如此之快,我甚至不能接受你的答案,5分钟后肯定会绿色打勾你 – Gideon 2012-07-09 23:11:28

+0

当你有正确的行号时,语法错误很容易被发现。另外请注意,在使用ideone时,你必须在之间括起你的php,因为我一开始并没有明白这一点。我不知道'16号线'来自哪里,因为错误在第4行。 – Austin 2012-07-09 23:15:36

0

后,我不知道你是否能启动阵列键(即使它们是字符串)与破折号。

+0

你可以。数组键的字符串没有限制。 – 2012-07-09 23:15:36