0

我正在尝试打印这些值,它们打印得很好。但是一旦插入 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('%)') ;
     ?>

一段时间以来,我一直在努力解决这个问题。非常感谢任何帮助。

4

2 回答 2

2

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

<?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('%)') ;
    }
 ?>
于 2013-09-30T23:27:28.303 回答
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('%)') ;
?>
于 2013-09-30T23:24:29.997 回答