Показать сообщение отдельно
  #9 (permalink)  
Старый 14.10.2020, 18:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от voraa
Я не собираюсь переписывать автору весь код.
А зачем переписывать, да еще весь, просто не нужно делать лишнего.

Если имена типа name[], то это гарантия РНР на сервере. А он получая такие имена, понимает, что это массив элементов под ключом name, куда их и поместит. При этом он будет получать элементы по порядку их следования, а значит получится массив:

Array [
    str [
        [0] => value,
        [1] => value,
        .... 
    ],
    name [
        [0] => value,
        [1] => value,
        .... 
    ],
    ....
]


Какой смысл их нумеровать на клиенте принудительно от 1 до n, если сервер и без этого все разложит как надо? Охота иметь именно с индекса 1? Это мазохизм, а если нужна нумерация, то ее сформировать, это же плевое дело.

Принудительная индексация на клиенте нужна в том случае, если мы хотим иметь на сервере массив такой структуры:

Array [
    [index] => [[str] => value, [name] => value, ...],
    [index] => [[str] => value, [name] => value, ...],
    ....
]


где в качестве index и указываем уникальные значения. Но какой смысл помнить цифру, увеличивать и использовать. Достаточно брать готовое - текущую метку времени. А то что на сервере будут индексы вложения не

[0] => [[str] => value, [name] => value, ...], [1] => [[str] => value, [name] => value, ...], ...,

а

[1601149425635] => [[str] => value, [name] => value, ...], [1601149425457] => [[str] => value, [name] => value, ...] ...

серверу глубоко наплевать, он будет работать с именованными ключами str, name, ..., они его интересуют.
Ответить с цитированием