채택완료

여분필드를 반복문으로 가져와서 뿌려줄때, 콤마 제거하는 방법

2016-12-11 (일) 15:05:11 3,866

안녕하세요.

Copy
<?php// 형식for ($j=2; $j <= 4; $j++) {	if ($list[$i]['wr_'.$j]) {		echo $list[$i]['wr_'.$j].', '; 		/* if($j != 4) {			echo '* ';		} */	}}?>

위와 같이 여분필드를 뿌려주고있는데요,

wr_2, wr_3, wr_4에서 항상 2, 3, 4 값이있는게 아닙니다.

wr_2만 있을때도 있고, wr_3만 있을때도 있고 wr_2, wr_4가 있을때도 있습니다.

wr_n가 어찌됐건 마지막 단어있대 콤마를 지우고싶은데...

어떻게 해야하는지요... 

 

substr을 사용해보기 위해 $list_text = '';를 하나 선언해서

$list_text += $list[$i]['wr_'.$j]; 

 

이런식으로 넣어봤는데 0으로 나오네요...

=로 하면 마지막 여분 필드만 들어가구요...체크박스에서 끌고오는것이라 wr_ 번호가 다양합니다.

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

콤마(,)를 앞에다 붙이시고 조건($j != 2)을 붙여 떼어보시면 어떠실가요?

Copy
<?php// 형식for ($j=2; $j <= 4; $j++) { if ($list[$i]['wr_'.$j] ) {  if ($j != 2) { echo ','; }  echo $list[$i]['wr_'.$j]; }}?>
 

답변에 대한 댓글 1개

답변 감사합니다.

하지만 이렇게 해도 wr_n가 무작위로 나오기 때문에...
wr_2가 아니면 소용이 없더군요...

원래는 변수에 반복문 돌린 값을 대입 하려고 +=를 사용했는데
계속 0이 나와서...

PHP는 대입 방법이 .=로 하는거 같더라구요...
그래서 .=로 대입하고

echo substr(rtrim($변수명), 0, -1);
해서 마지막 콤마와 공백을 제거했습니다.

근데, PHP는 모든 변수가 전역 변수인가요?
아니면 <?php ?> 내에서만 사용하는 지역 변수인가요?

<?php>
<?php
$var = '이거는 바로 위 php까지인가요? 아니면 위에 위까지인가여?';
?>
<?>
2016-12-12 (월) 02:01:07
Copy
$lists = array(); for($j=2; $j<=4; $j++) {   if($list[$i]['wr_'.$j]) {      $lists[] = $list[$i]['wr_'.$j];   } }echo implode(", ", $lists);
 

답변에 대한 댓글 2개

왕계란님에게 드릴 채택이 제게 왔네요. 좋아요라도 드리고 갑니다. 감사합니다.
그냥 참고하시라고 남긴 거라서요. ㅎㅎ
별로 신경 안 쓰셔도 좋을 듯합니다.

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