Nie jest to możliwe w taki sposób, w jaki tego próbujesz. Musisz mieć osobny symbol zastępczy dla każdego parametru, który chcesz przekazać, wszystko inne sprzeciwiałoby się celowi parametrów (czyli oddzielaniu kodu od danych).
$ids = array(2, 4, 6, 8);
// prepare a string that contains ":id_0,..,:id_n" and include it in the SQL
$plist = ':id_'.implode(',:id_', array_keys($ids));
$sql = "SELECT * FROM someTable WHERE someId IN ($plist)";
// prepare & execute the actual statement
$parms = array_combine(explode(",", $plist), $ids);
$stmt = $PDO->prepare($sql);
$rows = $stmt->execute($parms);
Gdybyś mógł przekazać tablicę wartości do pojedynczego parametru podczas wiązania, mógłbyś efektywnie zmienić instrukcję SQL. Byłaby to luka dla wstrzykiwania SQL — w końcu nic nie może zagwarantować, że wszystkie wartości tablicy będą niewinnymi liczbami całkowitymi.