目前我正在尝试使用样式表,我通过if。但它没有做任何事情。
这是我目前的代码。变量$ stylesheet将是可变的,但在测试时我已将其设置为正常
<?php
$stylesheet = 'normal'
if ($stylesheet = 'small')
{
$style = './sitestyle/stylesheetsmall.css';
}
if ($stylesheet = 'big')
{
$style = './sitestyle/stylesheetbig.css';
}
else
{
$style = './sitestyle/stylesheet.css';
}
echo '<link rel="stylesheet" type="text/css" href="$style">';
?>
感谢您的回答。
答案 0 :(得分:9)
好的,正如其他人所说,=
是分配,==
是比较。
但是使用switch
语句可以简化您的问题:
$stylesheet = 'normal';
switch($stylesheet) {
case 'small':
$style = './sitestyle/stylesheetsmall.css';
break;
case 'big':
$style = './sitestyle/stylesheetbig.css';
break;
default:
$style = './sitestyle/stylesheet.css';
break;
}
echo '<link rel="stylesheet" type="text/css" href="'.$style.'">';
答案 1 :(得分:6)
比较时,请使用==
代替=
。
$一个= 0; if($ a = 1){ 回声“1”; } else { 回声“不是1”; }
if( $a = 1 )
将使用$a=1
的返回值作为条件,在这种情况下,返回值为$a
,等于1
。
答案 2 :(得分:3)
其他人已经指出了你的if语句的问题。你的echo语句也有问题。变量不会在单引号内查看。您需要将变量移出引号并连接,或更改为双引号并转义所有其他双引号。我更喜欢第一种方法:
echo '<link rel="stylesheet" type="text/css" href="' . $style . '">';
答案 3 :(得分:2)
您使用PHP的assignment operator代替equals operator进行比较:
if ($stylesheet = 'big')
该代码实际上将值'big'赋给$stylesheet
,然后赋值的结果由if
作为布尔值进行评估(在PHP中也是如此)。
您可能希望将=
更改为==
,以便直接将表达式计算为布尔值,而不是评估赋值的结果:
if ($stylesheet == 'big')
答案 4 :(得分:1)
你可以使用开关
switch ($size) { case 'small': # small css code... break; case 'big': # big css code... break; default: # default stylesheet code... break; }
答案 5 :(得分:1)
$stylesheet = 'normal'
if($stylesheet == 'small')
{
$style = './sitestyle/stylesheetsmall.css';
}
if($stylesheet == 'big')
{
$style = "./sitestyle/stylesheetbig.css";
}
else
{
$style = "./sitestyle/stylesheet.css";
}
echo '<link rel="stylesheet" type="text/css" href="' . $style . '">';
一个等于用于在php中分配东西==如果它等于,则= =如果它恰好等于
答案 6 :(得分:0)
如果要检查某个值是否与另一个值相等,请使用双等号==
$ stylesheet == 'small'
答案 7 :(得分:0)
你也可以完全放弃开关。
<link rel="stylesheet" type="text/css" href="./sitestyle/stylesheet<?echo $style;?>.css">
确保$style
仅设置为""
,"big"
或"small"