2016-02-22 28 views
1

現在用下面的函數來狀態的兩個用戶之間的朋友功能,但我得到以下錯誤不明ERROR(in_array()預計參數2爲陣列,串給出)

Warning: in_array() expects parameter 2 to be array, string given in C:\Users\sanoj\Documents\NetBeansProjects\PDO friends 2\userData.php on line 60 

線60是本if (in_array($friend, $f)) {和功能波紋管

function isFriend($user, $friend) { 
    $isFriend = false; 
    $friends = getUsersFriends($user); 
    foreach ($friends as $f) { 
     if (in_array($friend, $f)) { 
      $isFriend = true; 
     } 
    } 
    return $isFriend; 
} 
+0

如果一臺陣列,無需'foreach',只是簡單的' in_array($ friends,$ friend)',只是要小心,區分大小寫 – Ghost

+0

'print_r($ friends);'並告訴我們結構 – Matt

+0

@Ghost:這應該是'in_array($ friend,$ friends)'。 –

回答

1

就像上面的意見,如果$friends確實只是一個平面數組,只需使用in_array孤單。無需foreach。會發生什麼是,你正在申請in_array每個字符串沒有意義。您應用in_array爲字符串全陣列:

function isFriend($user, $friend) { 
    return in_array($friend, getUsersFriends($user)); 
} 

注意到,Sanoj != sanoj。這可能是更好的改變的朋友來比較的strtolower$friend收集的所有蓋帽:

理念:

function isFriend($user, $friend) { 
    return in_array(strtolower($friend), array_map('strtolower', getUsersFriends($user))); 
} 
+0

謝謝這個作品 –

+0

@sanojlawrence很高興這個幫助 – Ghost

相關問題