php 将数组转化为select下拉列表框问题

总是报错//数组转化为selectfunctionselect($arr,$name,$self="",$cn_name="选择",$class="combox"){$s... 总是报错

//数组转化为selectfunction select($arr,$name,$self="",$cn_name="选择",$class="combox"){ $slt .= "<select name=\"".$name."\" class=\"input ".$class."\" title=\"此项目必填\" validate=\"required:true\">"; $slt .= "<option value=\"\" selected=\"selected\">".$cn_name."</option>"; foreach($arr as $key=>$val){ if($key==$self){
//这行报错 $slt .= "<option value=\"".$key."\" selected=\"selected\">".$val."</option>"; }else{ $slt .= " <option value=\"".$key."\">".$val."</option>"; } } $slt .= "</select>"; return $slt;}
展开
 我来答
小小幽魂
推荐于2016-07-13 · TA获得超过1469个赞
知道小有建树答主
回答量:751
采纳率:100%
帮助的人:678万
展开全部
function select($arr, $name, $self="", $cn_name="选择", $class="combox") {
    $slt = "<select name=\"{$name}\" class=\"input {$class}\" title=\"此项目必填\" validate=\"required:true\">";
    $slt .= "<option value=\"\">{$cn_name}</option>";
    foreach($arr as $key => $val) {
        if($key === $self) {
            $slt .= "<option value=\"{$key}\" selected=\"selected\">{$val}</option>";
        } else {
            $slt .= "    <option value=\"{$key}\">{$val}</option>";
        }
    }
    $slt .= "</select>";
    return $slt;
}
$arr = array(1,2,3);
echo select($arr, 'test', 1);

改成这样子,测试过了。没有问题。

lh624423055
2013-07-25 · TA获得超过9068个赞
知道大有可为答主
回答量:1.2万
采纳率:6%
帮助的人:9280万
展开全部
 $slt .= '<option value="'.$key.'" selected="selected">'.$val.'</option>';

我建议你是用单引号

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忧郁之身
2013-07-25 · 超过56用户采纳过TA的回答
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:79.6万
展开全部
$self对应的是key值还是value值呢,是不是对应错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式