Почему выдает «array» при использовании explode в foreach?
А что кроме массива вы ожидаете получить на выходе explode?
Так как результат фенкции explode массив вам следует использовать следующую конструкцию:
foreach($stack as $value){
     $value = explode(',', $value);
     $xflist .= "<div class=" . $value[0] . ">" . $value[1] . "</div>";
}

Здесь можно увидеть и запустить код: PHPize.online