通过在PHP中更改样式表

时间:2010-04-27 13:46:49

标签: php css variables stylesheet if-statement

目前我正在尝试使用样式表,我通过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">';
?>

感谢您的回答。

8 个答案:

答案 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"