채택완료

wr_1[] 이런식으로 값을 배열화 시키고 있는데요....

Array
(
    [0] => 사과
    [1] => 바나나
    [2] => 옥수수
    [3] => 배
)

<input name='wr_1[]' ></input>

<input name='wr_1[]' id='sub' value='5'></input>

<input name='wr_1[]' ></input>

<input name='wr_1[]' ></input>

간단하게 이렇게 입력해서 위의 배열값을 입력해서 가져오고 있습니다.

그런데... 배열안에 또 배열을 넣을수가 있는지요?

#sub의 value만큼 바나나에 2차 배열을 넣고 싶은데 어떻게 해야 할지 모르겠습니다.

|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트
Copy
<form name="fom" method="post">
<!-- 1차원 배열 -->
<input name='wr_1[]' value='1'></input>
<input name='wr_1[]' value='2'></input>
<input name='wr_1[]' value='3'></input>
<input name='wr_1[]' value='4'></input>

 

<!-- 2차원 배열 -->

<input name='wr_1[4][0]' value='11'></input>   <
<input name='wr_1[4][1]' value='12'></input>
<input name='wr_1[4][2]' value='13'></input>
<input name='wr_1[4][3]' value='14'></input>

 

 

<!-- 2차원 배열은 []안에 순번을 넣어주는게 명확하네요-->
<input type="submit" name="확인">
</form>

 

//  ----------결과 -----------------

 

Array
(
    [wr_1] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 4
            [4] => Array
                (
                    [0] => 11
                    [1] => 12
                    [2] => 13
                    [3] => 14
                )

        )
)

제가 테스트를 한번 해봤는데 2차원 배열이 되네요..

다만 2차원 배열을 사용하실경우 명확하게 정의하기 위해서 2차원 순번를 []안에 넣어주셔야 할꺼 같아요.

그래야 어느 위치에 배열값을 가지고올지 알수 있으니까요.

답변에 대한 댓글 2개

감사합니다.
다차원 배열은 불러올때 어떻게 불러워야 할까요?

1차원은 그냥 $wr1 = explode('|',$write['wr_1']); 이렇게 불러오는데...
방법이 다양한데 그 중 두 가지 소개합니다.
serialize() 또는 json_encode() 결과물 저장하고,
불러와서는 unserialize() 또는 json_decode() 결과물 사용하면 됩니다.

+ json_encode()
- https://www.php.net/manual/en/function.json-encode.php
- http://docs.php.net/manual/kr/function.json-encode.php

+ json_decode()
- https://www.php.net/manual/en/function.json-decode.php
- http://docs.php.net/manual/kr/function.json-decode.php

* DB가 JSON 타입 지원하면, 더 편하고요.

+ serialize()
- https://www.php.net/manual/en/function.serialize.php
- http://docs.php.net/manual/kr/function.serialize.php

+ unserialize()
- https://www.php.net/manual/en/function.unserialize.php
- http://docs.php.net/manual/kr/function.unserialize.php

답변을 작성하려면 로그인이 필요합니다.