It's unfortunate that sql prepared statements do not handle arrays. It's not php or pdo's fault. It is just the way sql was designed.
So what you to do is to dynamically build the sql based on the number of elements in your IN array.
$usernames = [ 'saban','jimbo','dabo'];
// Desired sql
$sql = 'SELECT * FROM users WHERE username IN (?,?,?);
Of course if you had a different number of names then the in clause would have to adjusted accordingly.
It is possible to this and even handle multiple parameter values but as you might imagine the code can get messy and difficult to maintain.
Fortunately, Doctrine's Database Abstraction Layer (DBAL) has already done the hard work. It's just a thin layer over PDO but allows you to:
$regTeams = ['Team1','Team2','Team3'];
$sql = 'SELECT * FROM poolTeams WHERE regTeamId IN (?);
$stmt = $dbConn->executeQuery($sql,[$regTeams],[Connection::PARAM_STR_ARRAY]);
$poolTeams = $stmt->fetchAll();
Under the hood enough ? are added into the sql statement to match the number of items in the array. You could add additional parameters as well. Everything just works.
So understand the concept and then turn the implementation over to DBAL.
Plenty of other good stuff in DBAL as well.