Me parece que el ejercicio de concatenación (en el caso de strings) y acumulación (para estructuras de datos) es básico, hasta de secundaria.
Lo que tu haces es sobreescribir el valor en cada vuelta del loop, lo cual no es lo que buscas, ¿verdad?
Ello ya lo deberías saber hacer:
Código PHP:
Ver original// concatenación
$str = '';
loop (/* ... */) {
$str .= $value;
}
// acumulación
$arr = [];
loop (/* ... */) {
$arr []= $value;
}
¿Se entiende?
En tu caso es mejor acumular y al final unir el array con join() para formar la lista separada por comas, si concatenas necesitas introducir más lógica para manejar las comas.