Do you know what the files are, and in what order they need to be processed? Or, does your code know that, so is it hard-coded and always the same? If so, can’t you just access each of them individually in the order you want them? I thought (but it’s a long time since I’ve tried it) that the order is based on the order the files are added to the zip file when it is created - yours appear to be in alphabetical order, suggesting perhaps that they were selected from a file manager / explorer style window and added en masse.
If the situation allows it, dealing with the files individually at least means that a badly-ordered zip file won’t cause problems next time around. Or if order is important, name the tables so that they preserve the order you need.
The order of the sort: alphabetical, low to high (ascending), high to low (descending), numerical, natural, random, or user defined
It may be different with different environments, but I tried glob() with GLOB_NOSORT and the order was by name ascending seemingly ignoring filesize, filemtime, fileatime and filectime
I tried usort() with a callback, but it started getting messy fast.
I think the easiest way is to use a series of native array functions eg.