PHP 배열관련 질문드려봅니다!

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
PHP 배열관련 질문드려봅니다!

QA

PHP 배열관련 질문드려봅니다!

본문

안녕하세요.

 

php를 하나도 안배워본.. 그누보드 검색하며 몇번 쳐보고 그런게 다인 퍼블리셔입니다.

 

checkbox안의 value값을 다른페이지로 넘기는 작업을 하는 중인데요!

 

<form action="test2.php" method="POST">

<input type="checkbox" name="case[]" value="A|B|C|D|E"> case1<br>

<input type="checkbox" name="case[]" value="가|나|다|마|바"> case2<br>

<input type="submit"><br>

</form>

 

여기서 submit을하면 test2.php로 값이 넘어가게 되어 있습니다.

 

 

<?php

 

    $case = $_POST['case'];

    // POST로 넘어온 값들을 $check에 저장

 

    $array = array($case);

    // check의 값들을 새로운 배열에 저장

 

    foreach ($array as $value){

        $result = implode("|",$value);

 

        echo "<pre>";

        echo "<input type='text' name='' value='$result[0]'>";

        echo "<input type='text' name='' value='$result[1]'>";

        echo "<input type='text' name='' value='$result[2]'>";

        echo "<input type='text' name='' value='$result[3]'>";

        echo "<input type='text' name='' value='$result[4]'>";

        echo "</pre>";

    }

 

?>

 

다만.. |로 나눠서 저장이 되긴했는데 홀수열은 $result[1], $result[3], $result[5]~~ 는 | << 이거 자체가 출력됩니다...

 

또한 for문으로 자동으로 배열의 개수만큼 반복되게 하고 싶습니다 ㅠ

 

조언이나.. 코드 대환영합니다 도와주세요!

 

 

이 질문에 댓글 쓰기 :

답변 2

1.  이미 배열로 넘어왔기때문에

 

$array = array($case);

 

이 부분을

 

$array = $case;

 

로 변경해주시고

 

 

2. implode 는 배열을 문자열로 합치는 함수입니다.

 

$result = implode("|",$value); 

 

이 부분을

 

$result = explode("|",$value); 

 

로 수정해보세요

감사합니다 ㅠㅠ 해결되었네요!!

혹시.. 민폐가 아니라면

    foreach ($array as $value){
        // $result = implode("|",$value);
        // 배열 값들을 "|" 로 나누어서 한 문자열로 저장
        $result = explode("|",$value);
        echo $result[0];
        echo $result[1];
        echo $result[2];
        echo $result[3];
        echo $result[4];
    }

이것을 배열의 개수만큼 반복문으로 어떻게 돌리는지 여쭤봐도 될까합니다!
우선 채택하겠습니다!

궁극적으로 어떤것을 하고싶으신지는 모르겠지만 ..
님의 질문만 보자면 아래처럼 하시면 됩니다.

foreach ($array as $value){

// $result = implode("|",$value);
        // 배열 값들을 "|" 로 나누어서 한 문자열로 저장
        $result = explode("|",$value);

foreach ($result as $value2){

echo $value2;

}

}

foreach ($array as $value){
    // $result = implode("|",$value);
    // 배열 값들을 "|" 로 나누어서 한 문자열로 저장
    $result = explode("|",$value);

    foreach ($result as $val){
        echo $val;
    }
}

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT