2012-12-31 2 views
0

여러 개의 선택 드롭 다운이있는 양식이 있습니다. 나는 각각 하나를 숫자로 지었다.인덱스로 숫자가있는 PHP 연관 배열

문제
내가 선택한 값을 얻을 수있는 결과를 통해 foreach 루프를 수행하지만 난 캔트 키를 얻을 때? 그들은 1로하지 않고 0으로 시작합니다.

HTML :

<select name="1"> 
    <option value="1">Admin</option> 
    <option value="2">Moderator</option> 
    <option value="3" selected="selected">User</option> 
    <option value="4">More</option> 
</select> 

<select name="2"> 
    <option value="1" selected="selected">Admin</option> 
    <option value="2">Moderator</option> 
    <option value="3">User</option> 
    <option value="4">More</option> 
</select> 

<select name="3"> 
    <option value="1" selected="selected">Admin</option> 
    <option value="2">Moderator</option> 
    <option value="3">User</option> 
    <option value="4">More</option> 
</select> 

양식 (위해서 var_dump) 제출

array(4) { 
    [0]=> 
    string(1) "3" 
    [1]=> 
    string(1) "1" 
    [2]=> 
    string(1) "1" 
} 

PHP

$arr = $form_array; 
foreach($form_array as $key => $value) 
{ 
    echo "The key is: $key <br>"; 
    echo "The value is: $value <br>"; 
} 

답변

0

배열하기 때문이다 숫자로 색인됩니다. 실제로 0, 1, 2 있습니다키는 각각 3, 1, 1 있습니다.

arrays in PHP에 대해 자세히 알아보십시오. 당신이 필요로하는 것은 그래서 당신은 당신의 현재 배열에 그것들을 일치시킬 수 있습니다 키가 옵션의 배열입니다 보이는

당신에서

의견 :

array(1 => 'Admin', 
    2 => 'Moderator', 
    3 => 'User', 
    4 => 'More'); 
+0

아, 그렇다면 선택 상품의 이름을 어떻게 얻을 수 있습니까? – intelis

+0

이러한 값을 포함하는 배열을 작성하고 이에 따라 키를 배열해야합니다. –

+0

내 업데이트에 하나를 추가했습니다. –

0

나는이 문제를 재현 할 수 없습니다. $ _POST의 위해서 var_dump을하는 것은 내가 무엇을 얻을 것은 :

array(3) { 
    [1]=> 
    string(1) "3" 
    [2]=> 
    string(1) "1" 
    [3]=> 
    string(1) "1" 
} 

당신이 $ _POST를 var_dumping 여전히 다음은 버전 별 PHP의 이상한해야합니다 0 기반의 키를 받고, 내가 문자열을 사용하는 것이 좋습니다 거라고하는 경우 대신 키 ('value1', 'value2', 'value3'등)를 입력합니다. 다른 배열을 var_dumping하는 경우 배열을 다시 색인하는 코드가 표시되지 않을 수도 있습니다.