2014-11-06 102 views
-4

我越来越: 解析错误:语法错误,意想不到的 '=='(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'); 
} 
?> 

任何想法如何修理它?

+0

你有没有在所有的读错误?如果你看一下行号,它会告诉你到底你在想什么,以及在哪里。 '意想不到'==''嗯,这意味着它在此之前有所期望。 '希望 ')''...嗯,我想我需要一个额外的')'前''==。 – rnevius 2014-11-06 10:16:40

+0

我不是一个PHP程序员。并认为如果我删除了'=='它会打破方法。不知道为什么我会为此下大拇指。 – mediaroot 2014-11-06 10:23:44

+0

我没有downvote,但你可能是因为:https://www.google.com/search?q=Parse+error%3A+syntax+error%2C+unexpected+%27%3D%3D%27+( T_IS_EQUAL)%2C +期待+%27)%27&OQ =解析+误差%3A +语法+误差%2C +意想不到+%27%3D%3D%27 +(T_IS_EQUAL)%2C +期待+%27)%27&AQS =铬.. 69i57.280j0j7&的SourceID =铬和es_sm = 0,即= UTF-8 – rnevius 2014-11-06 10:24:38

回答

2

只要我们使用它返回与empty()一定的价值像OP它会抛出一个错误Cant use return value to write con....任何功能。所以总是先把值存储在一个变量中,然后检查它。

应该

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

我在同一条线上有你的修复后,此错误: 致命错误:无法更新我的答案写方面 – mediaroot 2014-11-06 10:15:32

+0

使用函数返回值。当我们检查任何函数返回'empty()'.try来使用它时,就会出现这个错误。 – 2014-11-06 10:16:58

+0

谢谢你的作品 – mediaroot 2014-11-06 10:18:42

1

小错字错误:

改变这一点:

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

这样:

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

更换

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

与任何

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

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

if (!empty (bp_loggedin_user_id()) { 
1

你有一个错字。

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

此外,检查:如果你使用的是PHP < 5.5 http://php.net/manual/en/function.empty.php

Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).

所以,你必须使用变量:

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

此外,empty()返回布尔值,因此你可以这样做:

$result = bp_loggedin_user_id(); 
if (!empty($result)) { 
    ... 
} 
相关问题