str_repeat() sera plus lisible que implode(array_fill), non?
$q = $bdd->prepare(
"SELECT name, * FROM armes WHERE name IN (".str_repeat(count($_POST['option']), "?").")" );
Joli le FETCH_GROUP + reset