2011-08-02 2 views
2

PHP에서 '점'을 다차원 배열로 가져 오려면이 작업을 수행해야합니다.Perl/Catalyst의 POST를 통한 다차원 및 연관 배열 (해시)

<input type"text" name="points[0][1]" /> 
<input type"text" name="points[0][2]" /> 
<input type"text" name="points[1][1]" /> 
<input type"text" name="points[2][2]" /> 

아니면 내가 연관 배열로 '점'을 얻기 위해 원하는 경우 :

<input type"text" name="point[x_axis]" /> 
<input type"text" name="point[y_axis]" /> 

무엇 같은 것들에 대한 촉매/펄 상응하는 무엇입니까? $ c-> req-> params를 통해 어떻게 얻을 수 있습니까 ??

+3

'name = "points [100000000]"'를 PHP 스크립트에 보내기까지 기다릴 수 없습니다! 아니면 거기에 대한 수표가 있습니까? – ikegami

+1

@ikegami PHP의 모든 배열은 은밀하게 (정렬 된) 연관 배열이므로 외모보다 해를 끼치 지 않습니다. 한 쌍의 배열을 가진 배열을 얻습니다. – hobbs

답변

6

이것은 기본으로 제공되지 않습니다. Catalyst는 param 이름에 매핑을 수행하지 않으며, 값이 한 번 나타나면 스칼라에 매핑하고, 여러 번 나타나는 경우에는 arrayrefs로 매핑합니다. 그러나 적용 할 수있는 요청 특성이 있습니다. 은 hashed_params, hashed_query_paramshashed_body_params 방법을 $c->request에 추가하여 원하는 방식으로 작동합니다.

+0

고맙습니다. 그게 정확히 내가 찾고 있던 것이 었습니다. – nsbm