Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Порядок элементов массива переданнаго через POST


Автор: EgoBrain 12.4.2013, 08:17
Передаю в POST массив, элементы указываю в одном порядке, а получаю в другом. Беда :(
Код

$.ajax({
    type: "POST",
        async: false,
    data: "fields[spr24]=value1&fields[]=value2&fields[spr19]=value3&fields[spr20]=value4&fields[spr21]=value5&fields[]=value6&fields[spr22]=value7&fields[]=value8&fields[spr23]=value9&fields[]=value10,
    url: "script.php"
});

Код

$fields = $_POST["fields"];
print_r($fields);

Результат:
Цитата

Array ( [spr24] => value1 [0] => value2 [spr19] => value3 [spr20] => value4 [spr21] => value5 [1] => value6 [spr22] => value7 [2] => value8 [spr23] => value9 [3] => value10 ) 

Если интерпретатор сам отсортировал по ключу, то каким-то неведомым образом..
Или дело всётаки в нюансах jquery/ajax?

Автор: skyboy 12.4.2013, 08:59
порядоко тот же.
тебе не нравится, что после ключа spr24 идет ключ 0?
так ты ж сам указал: fields[]=value2, то есть, "сервер, возьми следующий по порядку числовой ключ". а spr24 — не цифровой ни разу. вот у тебя и перемешиваются генерируемые числовые ключи и явно заданные строковые. где тут изменение порядка?

Автор: Aliance 12.4.2013, 10:13
Даже если порядок и изменялся бы - какая разница? У тебя логика завязана на этом порядке?

Автор: EgoBrain 12.4.2013, 11:33
Цитата(skyboy @ 12.4.2013,  08:59)
порядоко тот же.
тебе не нравится, что после ключа spr24 идет ключ 0?
так ты ж сам указал: fields[]=value2, то есть, "сервер, возьми следующий по порядку числовой ключ". а spr24 — не цифровой ни разу. вот у тебя и перемешиваются генерируемые числовые ключи и явно заданные строковые. где тут изменение порядка?

Извиняюсь, я не тот вывод привел. В понедельник исправлю сообщение smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)