Php 致命错误:无法在第30行的写入上下文中使用函数返回值
我犯了这个错误,我无法控制它 确切的错误消息是: 致命错误:无法在第30行的/home/yetumedia/public_html/wp content/plugins/jt travel booking/styles/default.php中的写上下文中使用函数返回值 第30行是:Php 致命错误:无法在第30行的写入上下文中使用函数返回值,php,fatal-error,Php,Fatal Error,我犯了这个错误,我无法控制它 确切的错误消息是: 致命错误:无法在第30行的/home/yetumedia/public_html/wp content/plugins/jt travel booking/styles/default.php中的写上下文中使用函数返回值 第30行是: <?php if (! empty (get_post_meta( $post->ID, 'destination_short_info', true ))) { ?> 以下是整个功能
<?php if (! empty (get_post_meta( $post->ID, 'destination_short_info', true ))) { ?>
以下是整个功能:
<?php if (! empty (get_post_meta( $post->ID, 'destination_short_info', true ))) { ?>
<?php echo esc_html( get_post_meta( $post->ID, 'destination_short_info', true ) ); ?>
<?php } ?>
</div>
不能在空测试中使用函数,因此需要在变量中获得函数的结果:
$var = get_post_meta( $post->ID, 'destination_short_info', true );
if (! empty ($var){.....}
这是以下文件中的注释:
在PHP5.5之前,empty只支持变量;任何其他操作都将导致分析错误。换句话说,以下操作将不起作用:emptytrim$name。相反,请使用trim$name==false
看来你可以:
将get_post_meta的值保存到一个变量中,然后使用empty进行测试
使用==false或===false进行测试,并且根本不使用空
升级至PHP 5.5或更高版本
您需要反声明一个变量,如:$var=get\u post\u meta$post->ID,“destination\u short\u info”,true;如果空$var{…}您需要使用5.5.0或更高版本才能使用空$var。在堆栈溢出时,不鼓励将答案放在问题中。相反,你应该接受其中一个答案。如果你愿意,你也非常欢迎自己回答。我已经回滚了上一个问题更新,但是如果您需要,包含答案的版本可以在修订历史记录中找到。当然可以,您只需要拥有或更高版本,我喜欢它。@Scuzzy我使用PHP5.6,但它不适合我!!var_dump空数组_filter数组将为我打印booltrue,让你非常讨厌。将php版本更新到5.5非常有效。也谢谢Mouacithanks Becker,将php版本更新到5.5非常有效。