배열의 값의 앞뒤에 '를 추가하고 싶습니다. 채택완료

7년 전 조회 3,030

POST로 넘겨받은 체크박스의 배열이 있습니다.

Copy
[chk] => Array
(
    [0] => 20
    [1] => 2010
    [2] => 2020
    [3] => 2030
    [4] => 2040
    [5] => 2050
    [6] => 2060
    [7] => 2070
    [8] => 2080
    [9] => 2090
    [10] => 20a0
    [11] => 20b0
    [12] => 30
    [13] => 3010
    [14] => 3020
    [15] => 3030
    [16] => 3040
    [17] => 3050
    [18] => 3060
    [19] => 3070
    [20] => 3080
    [21] => 3090
    [22] => 30a0
    [23] => 40
    [24] => 4010
    [25] => 4020
)

 

해당 배열을

Copy
$chk_arr = implode(',', $_POST['chk']);

 

콤마 구분으로 implode하여 문자열로 합쳤는데요 echo로 출력을 하였습니다.

Copy
echo $chk_arr;

 

결과

Copy
20,2010,2020,2030,2040,2050,2060,2070,2080,2090,20a0,20b0,30,3010,3020,3030,3040,3050,3060,3070,3080,3090,30a0,40,4010,4020

 

implode함수로 콤마 구분으로 합쳤는데


여기서 한가지 질문이있습니다.
배열에 있는 20, 2010 등의 값들의 앞뒤에 따옴표 ' 를 넣고 싶습니다.
예를들면 출력을 하면
'20','2010','2020','2030','2040'..................
이런형태로 나오게 하고싶은데 방법이 있을까요?

 

아무리 생각을해도 배열이 implode 로 합치기 전에 값자체에 ' 따옴표가 있어야 될 것 같은데

생각을 해봐도 어렵네요 ㅠㅠ

답변 2개

채택된 답변
+20 포인트

foreach($_POST['chk'] as $key => $val) {
    $_POST['chk'][$key] = "'".$val."'";
}

$chk_arr = implode(',', $_POST['chk']);

echo $chk_arr;

로그인 후 평가할 수 있습니다

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

Copy
$chk_arr = "'" . implode("','", $_POST['chk']) . "'";
로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고