내가 알아 낸 것은 다음과 같습니다.
GET / POST 변수를 통해 배열을 제출하는 것과 같이 다중 값 양식 필드를 제출하는 것은 표준이 반드시 철자가 아니기 때문에 여러 가지 방법으로 수행 할 수 있습니다.
다중 값 필드 또는 배열을 보내는 세 가지 방법은 다음과 같습니다.
?cars[]=Saab&cars[]=Audi
(가장 좋은 방법-PHP는 이것을 배열로 읽습니다)
?cars=Saab&cars=Audi
(나쁜 방법-PHP는 마지막 값만 등록합니다)
?cars=Saab,Audi
(이것을 시도하지 않았습니다)
형태 예
양식에서 다중 값 필드는 선택 상자 의 형식 을 multiple으로 설정할 수 있습니다 .
<form>
<select multiple="multiple" name="cars[]">
<option>Volvo</option>
<option>Saab</option>
<option>Mercedes</option>
</select>
</form>
(참고 :이 경우 some_name[]
결과 요청 변수가 PHP에 의해 배열로 등록되도록 select control의 이름을 지정하는 것이 중요합니다 )
... 또는 같은 이름을 가진 여러 개의 숨겨진 필드로 :
<input type="hidden" name="cars[]" value="Volvo">
<input type="hidden" name="cars[]" value="Saab">
<input type="hidden" name="cars[]" value="Mercedes">
참고 :field[]
여러 값에 사용 하는 것은 실제로 문서화되어 있지 않습니다. Query string-Wikipedia의 다중 값 키 섹션 또는 다중 선택 입력을 처리 하는 W3C 문서 에서 이에 대한 언급이 없습니다 .
최신 정보
주석가들이 지적했듯이 이것은 프레임 워크에 따라 다릅니다. 몇 가지 예 :
쿼리 문자열 :
?list_a=1&list_a=2&list_a=3&list_b[]=1&list_b[]=2&list_b[]=3&list_c=1,2,3
울타리:
"list_a": "3",
"list_b":[
"1",
"2",
"3"
],
"list_c": "1,2,3"
모난:
"list_a": [
"1",
"2",
"3"
],
"list_b[]": [
"1",
"2",
"3"
],
"list_c": "1,2,3"
(각도 토론 )
node.js , Wordpress , ASP.net의 예제에 대한 주석을 참조하십시오
순서 유지 :
고려해야 할 또 다른 사항은 항목 의 순서 를 유지해야하는 경우 (즉, 정렬 된 목록으로 배열) 실제로 값이 구분 된 값 목록을 전달하고이를 명시 적으로 변환하는 옵션이 하나만 있다는 것입니다. 배열 자신.