日期:2014-05-17  浏览次数:20396 次

关于PHP正则问题
$lid=str_replace("\r\n","",$lid);

如果$lid获得多个下面该怎么写?请高手帮一下 谢谢

if ($lid==intval($row['id'])) {
<option value="<?php echo $row['id']?>" selected="selected"><?php echo $row['name']?></option>
<?php
}else {
?>
<option value="<?php echo $row['id']?>"><?php echo $row['name']?></option>

------解决方案--------------------
如果获得多个$lid,则先把$lid explode成为数组,然后循环数组,逐渐去比对:
code:

$lid=str_replace("\r\n","",$lid);

//假设多个id是','号隔开的
//把$lid组合成为数组
$lid_arr =explode(',',$lid);
if(!empty($lid_arr)){
//循环数组
foreach($lid_arr as $lid ){
//原来的比对流程
if ($lid==intval($row['id'])) {
<option value="<?php echo $row['id']?>" selected="selected"><?php echo $row['name']?></option>
<?php
}else {
?>
<option value="<?php echo $row['id']?>"><?php echo $row['name']?></option> 

}
}  

------解决方案--------------------
$arr =explode(',',$lid);
if (in_array(intval($row['id']) , $arr) {
<option value="<?php echo $row['id']?>" selected="selected"><?php echo $row['name']?></option>
<?php
}else {
?>
<option value="<?php echo $row['id']?>"><?php echo $row['name']?></option>