如何正确地说IF低于0然后打印

时间:2013-09-30 23:14:38

标签: php drupal

我正在尝试打印这些值,它们打印得很好。但只要插入if语句,服务器就会发出WSOD

有人可以查看我的代码并告诉我我做错了什么吗? 我只有在field_val_nominal低于零时才需要打印值。

<?php 
 $node_wrapper = entity_metadata_wrapper('node', $node);
 $field_val_nominal = $node_wrapper->field_price_change_nominal_comp->value();
 $field_val_percent = $node_wrapper->field_price_change_percent_comp->value();

if ($field_val_nominal < 0 && $field_val_nominal != 0)  : print render($field_val_nominal) . t('(') . render($field_val_percent) . t('%)') ;
     ?>

我一直在反对这个问题。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

我总是使用花括号而不是冒号。并且您的“if”条件可以缩短为单一条件,如下所示:

<?php 
 $node_wrapper = entity_metadata_wrapper('node', $node);
 $field_val_nominal = $node_wrapper->field_price_change_nominal_comp->value();
 $field_val_percent = $node_wrapper->field_price_change_percent_comp->value();

if ($field_val_nominal < 0)
    {
    print render ($field_val_nominal) . t('(') . render($field_val_percent) . t('%)') ;
    }
 ?>

答案 1 :(得分:1)

看起来像一个错字?冒号不属于你的if语句。

<?php 
 $node_wrapper = entity_metadata_wrapper('node', $node);
 $field_val_nominal = $node_wrapper->field_price_change_nominal_comp->value();
 $field_val_percent = $node_wrapper->field_price_change_percent_comp->value();

if ($field_val_nominal < 0)
     print render($field_val_nominal) . t('(') . render($field_val_percent) . t('%)') ;
?>