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

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;
    }
}

답변을 작성하시기 전에 로그인 해주세요.
전체 37
QA 내용 검색

회원로그인

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