Написанное (про массив) верно для PHP. В общем случае всё, что выбрано multiple будет передано в строке запроса с олним именем несколько раз. То есть
http://blah.com/script?ANIMAL=cat&ANIMAL=dog , например. Если ничего не выбрано, то ничего не будет передано. То есть достаточно проанализировать QUERY_STRING на предмет нахождения там нескольких строк ANIMAL=xxx. Можно это делать руками, но уверен, что стандартный модуль CGI это умеет.