If you are using name="field[]" kind of names, then $POST['field'] would be an array of form element values which you can ever traverse over even if it has a size of 1000. In such a case, you would know that all values in $POST['field'] are strings and should be treated with htmlspecialchars() or htmlentities() before being printed, or perhaps they are integers and should be casted as a precaution before being printed or used in an SQL query, etc.
If the form elements are so different that you cannot designate them under an array or two, then I would ask if the average user would have the patience to fill in a form of 100 different items correctly.
Nonetheless, [man]extract/man does provide a way out, but at the risk of variable poisoning (though that risk can be mitigated as pointed out in the PHP manual). Another possibility is to list out in an array the indices of $_POST that are valid, and traverse over that array. Multiple arrays could be used to designate data that should be handled differently.