2014-11-06 101 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)) { 
    ... 
} 
相關問題