Mam funkcje getFriends która zwraca tablicę z wynikami. Chcę porównać pierwszy element tablicy, czyli user_id z sesją id. Problem polega na tym, że porównuje całą tablicę a nie pierwszy element. Przy użyciu funkcji array_slice też zwracana jest cała tablica. Nie wiem dlaczego tak jest
class FriendDisplaying
{
public function __construct(private PDO $pdo)
{
}
public function getFriends(int $id, int $sessionId): array
{
$sql = $this->pdo->prepare("
SELECT user.user_id, avatar, first_name, last_name
FROM user
JOIN friend ON user.user_id = friend.request_from_id
where request_to_id = :id AND friend.status='znajomy'
UNION ALL
SELECT user.user_id, avatar, first_name, last_name
FROM user
JOIN friend ON user.user_id = friend.request_to_id
where request_from_id = :id AND friend.status='znajomy'");
$sql->bindParam(':id', $id, PDO::PARAM_INT);
$sql->bindParam(':session', $sessionId, PDO::PARAM_INT);
$sql->execute();
$friends = [];
while ($row = $sql->fetch()) {
$friends[] = new Friend(
$row['user_id'],
$row['avatar'],
$row['first_name'],
$row['last_name']);
}
return $friends;
}
}
$userId = $_SESSION['user_id'];
$friends =$displaying->getFriends($id->getUserId(), $userId);
var_dump($friends[0]);
if($friends[0] != $userId){
$result = true;
}else{
$result = false;
}