我正在使用以下功能来说明两个用户之间的朋友功能,但我得到以下错误
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 :(得分:1)
就像上面的评论一样,如果$friends
确实只是一个扁平数组,那么就单独使用in_array
。无需foreach
。会发生什么,你正在应用每个字符串的in_array
,这是没有意义的。您将in_array
应用于整个字符串数组:
function isFriend($user, $friend) {
return in_array($friend, getUsersFriends($user));
}
请注意Sanoj != sanoj
。更改好友集合的所有上限以与strtolower
ed $friend
进行比较可能更好:
点子:
function isFriend($user, $friend) {
return in_array(strtolower($friend), array_map('strtolower', getUsersFriends($user)));
}