In my local M&S I found various colours and sizes for just £1 per pair. The original price was £10
I bought a grey pair for dd to wear now (age 7), plus 2 pairs that should fit OK later in the year/next year (age 9). They had sizes from age 3 up to age 16, but not all sizes in every colour.
The only downside is that they are non returnable, but one pair has already been worn and washed and are fine.
They had other uniform items too, so it's worth a look.