Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:无法在第30行的写入上下文中使用函数返回值_Php_Fatal Error - Fatal编程技术网

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 ))) { ?> 以下是整个功能

我犯了这个错误,我无法控制它

确切的错误消息是:

致命错误:无法在第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 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非常有效。