mikehove, pateketrueke ha sido lo suficientemente claro, voy a ir más allá planteándotelo desde otra perspectiva.
normalmente, cuando quieres imprimir texto estático dentro de un bucle junto a una variable, en tu caso usando while, se hace así
Código PHP:
Ver originalwhile (/*cualquier condición*/)
{
echo $array['clave']. "-"; //aquí utilizas innecesariamente la función str_repeat();
//¿sigues creyendo que necesitas hacer un echo $row['label']?
}
en tu caso necesitas implode(); si te molestas en leer la documentación (algo que adecuadamente te ha insistido pateketrueke) verás que
esta función separa los valores de un array. recibe dos parámetros, uno de ellos es opcional. este parámetro opcional si se especifica es un caracter string.
entonces si haces
los valores del array, independientemente si las claves son indexadas o asociativas serán imprimidas así:
Código PHP:
Ver originalvalor1-valor2-valor3-valor4 etc.
//no se imprimen las claves.
entonces aquí hay tres cosas claras:
no necesitas un bucle para utilizar implode.
no necesitas una función como str_repeat(); para imprimir una sola vez en cada iteración un guión "-".
y
si quieres imprimir las claves no puedes hacerlo con echo $array['clave']; puesto que te imprimirá el valor.
ahora piensa qué cambios tienes que hacer en tu código para que te funcione tal y como quieres.