In reply #2’ PaulS said
Why do you have a for loop to iterate NR_OF_READERS times when you do something completely different on each iteration?
The reader variable is the loop variable, so anything like mfrc522[reader].PICC_ReadCardSerial()
Can have reader replaced by the appropriate number like
mfrc522[0].PICC_ReadCardSerial()
or
mfrc522[1].PICC_ReadCardSerial()
Also stuff like the extra set of brackets that line came in, is not necessary, the fact you say you see it in examples should be a warning that the person writing such an example doesn’t know what they are talking about.