Сортировка лексикографически

Подскажите пожалуйста, как сделать аналог sort($array, SORT_STRING ), не использую эту встроенную функцию?
Я уже задавал похожий вопрос, но тогда, решил, что смогу всё сделать, однако в итоге сортируется не всегда правильно, я написал следующее

for($i=1;$i<=$_POST["quantity"];$i++){
    $array[$i]=$i;
    };

for ($j = 0; $j < count($array) + 1; $j++){
    for ($i = 0; $i < count($array) - $j - 1; $i++){
            if (strcmp($array[$i],$array[$i + 1]) == 1){
            $tmp_var = $array[$i + 1];
            $array[$i + 1] = $array[$i];
            $array[$i] = $tmp_var;
        };
    };
};

думал это будет одно и тоже что и sort, но ... не работает и всё тут.. подскажите, что не так? при вводе массива с 1 до 11 выдаёт не
1 10 11 2 3 4 5 6 7 8 9, а 1 10 2 3 4 5 6 7 8 9 11


Ответы (1 шт):

Автор решения: Максим Степанов

При построении массива вы начинаете с ключа 1:

for($i=1; ...

А при сортировке с 0.

for ($j = 0; $j < count($array) + 1; $j++){
    for ($i = 0; $i < count($array) - $j - 1; $i++){

Укажите $i=0 здесь: for($i=0;$i<=$_POST["quantity"];$i++){

→ Ссылка