在IF语句中调用PHP变量?

时间:2014-07-20 15:13:58

标签: php mybb

我正在使用MyBB,我是初学PHP用户。我试图显示一些CSS代码,具体取决于变量是0还是更高。我的PHP代码如下。

<?php

if({$GLOBALS['threadfields']['trdfprice']} > 0){

   echo '<style type="text/css">
    p.price {
        display:inline; 
        padding:3px; 
        border-radius:7px; 
        background:#66CD00;}
    </style>';

} else {
   echo '<style type="text/css">
    p.price {
        display: none;}
    </style>';
}
?>

我正在处理名为xThreads的内容,因此它为某些论坛提供了自定义字段。我只能使用

来调用该变量
{$GLOBALS['threadfields']['trdfprice']}

如果我回应它,​​我可以这样做:

<?php
echo "{$GLOBALS['threadfields']['trdfprice']}";
?>

以上情况有效,但是当我尝试在IF语句中运行它时,它会给我一个错误:

Parse error: syntax error, unexpected '{' 

在这一行

if({$GLOBALS['threadfields']['trdfprice']} > 0){

我能够弄明白。

<?php

if( $GLOBALS['threadfields']['trdfprice'] > 0){
    echo "<p style=\"display:inline; border-radius:7px; background:#66CD00; padding:3px;\">{$GLOBALS['threadfields']['trdfprice']}</p>";

}
?>

我把它显示在应该显示的位置并且有效。

1 个答案:

答案 0 :(得分:1)

更改此行:

if({$GLOBALS['threadfields']['trdfprice']} > 0){

到此:

if($GLOBALS['threadfields']['trdfprice'] > 0){

if语句中不应出现其他大括号,因此会出现错误:

Parse error: syntax error, unexpected '{'