php $_POST Array 데이터 받기


value1=2012251&value1=2012254&value2=531&value2=544

데이터를 위 방법으로 붙여서 던지면 겹쳐져서 Array 로 받아 올수 있다고 봤는데 실제로 해보니 맨 마지막 값만 불러오게 되었습니다. array 로 받으려 여러 가지 방법을 시도해보았지만 아직까지 찾지 못했습니다. 어떤 방법으로 값을 받아와야 하나요?

$arrValue1 = $POST["value1"]; $arrValue2 = $POST["value2"];

echo $arrValue1 2012251

echo $arrValue2 544

  • 2016년 04월 25일에 작성됨

조회수 1144


2 답변


아래 HTML과 같이 Post한다면 name에 []를 넣어주어야 합니다.

Date 1:<input name="date[]" type="text"><br>
Date 2:<input name="date[]" type="text"><br>
Date 3:<input name="date[]" type="text"><br>

아래와 같이 읽어오면 Array로 받아 옵니다.

$email = $_POST['date'];   
  • 2016년 04월 25일에 수정됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.
  • 2016년 04월 25일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.


같은 키값으로 여러개를 전달하면, 해당 값은 이미 배열입니다.

다음과 같이 처리하시면 됩니다.

$value1s = $_POST['value1'];
$value2s = $_POST['value2'];

// 각각은 다음과 같이 해보세요.
foreach($value1s as $value) {
  print "폼 value1 은 ".$value."\n";
}
foreach($value2s as $value) {
  print "폼 value2 는 ".$value."\n";
}

// 만약 value1과 value2가 개수가 동일하고 같이 접근해야 한다면 다음과 같이 써보세요.
foreach( $value1 as $key => $val ) {
  print "폼 value1 은 ".$val." 이고 value2 는 ".$value2s[$key] 이다.\n";
}

위와 같이 foreach문을 써서 모든 값을 조회가능합니다.

  • 2016년 04월 25일에 작성됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close