테스트 사이트 - 개발 중인 베타 버전입니다

업데이트 스킨에서 채택완료

그누x쵸딩 4년 전 조회 2,298

 

$arr = implode('|', $_POST['city']);  //

 

for($k = 0; $k < count($arr); $k++) {

   if ($k > 0) $division .= "|";    $division .= $_POST['division'.$k];

}

 

city 배열갯수만큼

division도 같은 갯수의 배열로 하고 싶은데 안되네요

위 구문이 잘못된게 있나요?

디비에는 city가 저장되어 있습니다.

 

count($arr) 를 숫자로 지정하면 됩니다.

 

질문을 올렸는데 

https://sir.kr/qa/387299?vpage=1#answer_387312

다시 해보니 안돼서요

 

구분자만 남고 값이 없어져 버리네요

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

답변 1개

채택된 답변
+20 포인트
루미집사

지금 질문 주신 구문이 잘못되어 있고 질문자님의 의도가 무엇을 원하는지 모르겠어요~

나름 해석하여 답변 작성해 봅니다.

 

$city는 질문상으로는 배열입니다.    $city = array('서울', '경기', .......... );

 그리고 배열을 "|" 구분자로 합치셨네요.

$arr = implode("|", $_POST['city']);  //  이렇게 직상하면 배열을 "|"으로 합쳐 하나의 값으로 만드는거죠.

// $arr = 서울|경기|......   이렇게 된거죠.

 

그런데 $arr을 count($arr) 했습니다.

 

아래와 같이 되어야 겠죠.

$arr = $_POST['city'];

for($i=0. $i < count($arr); $i++) {

    // code

}

 

그리고, division 에 어떤씩으로 배열을 만들고 싶다는건지 명확하지 않습니다.

division도 $arr의 배열 갯만큼 배열을 만들고 싶다는데 배열값은 어떤 값이 들어가야 하는지요?

 

$arr의 배열값과 똑같은 값으로 $division의 배열을 만들고 싶다면.. 아래와 같이.

$division = $arr;

 

$division의 배열값을 division0, division1, division3  이렇게 만들고 싶다면..

$division = array();

for($i=0; $i < count($arr); $i++) {

    $division[] = "division".$i;

}

 

질문 내용에 "구분자만 남기고 값이 없어지는 이유는...

$_POST['division0'];

$_POST['division1'];

$_POST['division2'];

$_POST['division3'];

이런 값들이 존재하지 않기 때문에 구분자 "|"만 남게 되는거죠.

 

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

답변에 대한 댓글 1개

그누x쵸딩
4년 전
알기 쉽게 설명해주셔서 감사합니다. 답변덕에 해결하였습니다.

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

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

로그인