He changed the SQL statement to use IN, which will match against a list of things, instead using equals to match against one thing
He used positional parameters in the SQL statement: one question mark for each thing to be filled in, in the IN clause
He passed the array to the execute statement, which plugged in one value from the array for each of the question marks in the SQL statement
If your array is huge, the SQL processor may not take that many values in an IN list, in which case you need to break up your array into acceptable-sized pieces.
Caution: Contents may have been coded under pressure.