我有一系列if代码需要放在一起,但代码行为怪异,并选择最后的if代码。
if($boardid='1'){ $altboard='13' and $title='Archives' ;}
elseif($boardid='2'){ $altboard='14' and $title='Archives' ;}
所以这段代码结果可行,但不能重复完成其余的代码
不起作用的代码是:
if($boardid=='1'){ $altboard='13' and $title='Archives' ;}
if($boardid='2'){ $altboard='14' and $title='Archives' ;}
if($boardid='3'){ $altboard='15' and $title='Archives' ;}
if($boardid='6'){ $altboard='16' and $title='Archives' ;}
if($boardid='7'){ $altboard='17' and $title='Archives' ;}
并且还有更多代码要添加,但我没有添加它们,因为它只使用任何结果是最后一条线而不管板,即使它清楚地识别板。那么是什么给出了如何使一系列if代码一起工作?我有另一个文件与完全相同的东西,它反应相同。如果那么其他代码的elseif不起作用,也不会交替if和else if。
使用两个相同的符号与上面提到的代码一起工作正常,但不是第二个提到的代码,这是
if($wrong=='0'){$prize='1000';}
if($wrong=='1'){$prize='700';}
if($wrong=='2'){$prize='500';}
if($wrong=='4'){$prize='200';}
if($wrong=='5'){$prize='100';}
与最后一个仅保留最后一个代码的那个不同,这个代码只占用第一个代码。所以奖金总是1000.这里有任何帮助
答案 0 :(得分:3)
您在=
条件中使用的是==
而不是if
,假设您指定的值是真实的,则始终为真。更改条件以使用==
进行比较。
那就是说,你可能想考虑使用一个关联数组:
$data = array(
'1' => array('altboard' => '13', 'title' => 'Archives'),
'2' => array('altboard' => '14', 'title' => 'Archives'),
// ...
);
if(array_key_exists($data, $boardid)) {
$altboard = $data[$boardid]['altboard'];
$title = $data[$boardid]['title'];
}
或者,如果标题总是“档案”,那就拉出来:
$altboard_map = array('1' => '13', '2' => '14', /* ... */);
if(array_key_exists($data, $boardid)) {
$title = "Archives"; // consider moving out of the 'if' if applicable
$altboard = $altboard_map[$boardid]['altboard'];
}
答案 1 :(得分:0)
应该像
if($boardid=='1'){ $altboard='13'; $title='Archives';}
if($boardid=='2'){ $altboard='14'; $title='Archives';}
if($boardid=='3'){ $altboard='15'; $title='Archives';}
if($boardid=='6'){ $altboard='16'; $title='Archives';}
if($boardid=='7'){ $altboard='17'; $title='Archives';}
答案 2 :(得分:0)
使用开关案例:
$title='Archives';
switch ($boardid) {
case 1:
$altboard='13';
break;
case 2:
$altboard='14';
break;
case 3:
$altboard='15';
break;
case 6:
$altboard='16';
break;
case 7:
$altboard='17';
break;
}