Looping over a global array using NOT LIKE

I've got a list of values in a global array NameArray. I want to check to see if values on the stream are like any of the values in the array. So I'm trying:

for #i in 1 .. ArrayNumValues(@NameArray)

loop

     if name_category not like "'%@NameArray[#i]%'"

     then discard := 1; end if;

end loop;

I don't get any records flagged, even though I know some should hit.

Something's wrong with the quotes and double-quotes (I've tried many combinations). Anyone?