Похоже, вы не инициализировали $vendor_cats_chosen
как массив, и поэтому, если условие if($sVendorId==$resultset['vendor_option_id'])
не является истинным, к нему не будут добавлены никакие элементы, неявно превращающие его в массив.
Инициализируйте его перед циклом while
.Вы должны почти всегда инициализировать массивы перед использованием.
// Initialize the array
$vendor_cats_chosen = array();
while($resultset = mysql_fetch_array($result)){
....
Теперь, когда ваш оператор in_array()
выполняется, массив может быть пустым, но будет действительным массивом.
// $vendor_cats_chosen might be an empty array, or may have elements.
if(in_array($resultset['vendor_option_id'],$vendor_cats_choosen)){