Array of one value, for every integer in another field?
Figured this out if anyone comes across this and wants the solution:

SELECT color, TRIM(TRAILING ',' FROM GROUP_CONCAT(REPEAT(CONCAT(length,','),qty) SEPARATOR '') ) 
FROM buyer_advert 
GROUP BY color


This makes a nice array like I wanted.