解析错误:语法错误,意外'=='

时间:2014-11-06 10:13:28

标签: php wordpress

我得到: 解析错误:语法错误,意外' ==' (T_IS_EQUAL),期待')'

<?php 
if ( empty ( bp_loggedin_user_id() == false ) ) {
    $user_id = bp_loggedin_user_id();
    echo bp_core_fetch_avatar( array( 'item_id' => $user_id) );
} else {
    echo get_avatar($id_or_email, $size='64', $default, $alt='User name' ); 
}
?>

有关如何修复它的想法吗?

4 个答案:

答案 0 :(得分:2)

每当我们使用任何返回与empty()类似值的函数时,它会抛出错误Cant use return value to write con....。因此,请始终先将值存储在变量中,然后进行检查。

应该是

$loggedIn = bp_loggedin_user_id();
if ( empty ( $loggedIn) == false ) {

答案 1 :(得分:1)

小错字错误:

改变这个:

if ( empty ( bp_loggedin_user_id() == false ) )

对此:

if ( empty ( bp_loggedin_user_id() ) == false  )

答案 2 :(得分:1)

你有一个错字。

if ( empty(bp_loggedin_user_id()) == false ) {
    ....
}

另外,请检查:http://php.net/manual/en/function.empty.php

  

在PHP 5.5之前,empty()仅支持变量;其他任何东西都会导致解析错误。换句话说,以下内容不起作用:empty(trim($ name))。

因此,如果您使用PHP&lt; 5.5,则必须使用变量:

$result = bp_loggedin_user_id();
if ( empty($result) == false ) {
    ...
}

此外,empty()返回布尔值,因此您可以执行此操作:

$result = bp_loggedin_user_id();
if ( !empty($result) ) {
    ...
}

答案 3 :(得分:0)

替换

if ( empty ( bp_loggedin_user_id() == false ) ) {

使用

if ( empty ( bp_loggedin_user_id()) == false ) {

或(更好的版本,因为它提高了可读性)

if ( !empty ( bp_loggedin_user_id() ) {