Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
여분필드를 반복문으로 가져와서 뿌려줄때, 콤마 제거하는 방법

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

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

QA

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

답변 2

본문

안녕하세요.

 


<?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

 

 

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

 


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

답변 감사합니다.

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

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

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

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

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

<?php>
<?php
$var = '이거는 바로 위 php까지인가요? 아니면 위에 위까지인가여?';
?>
<?>


$lists = array(); 
for($j=2; $j<=4; $j++) {
   if($list[$i]['wr_'.$j]) {
      $lists[] = $list[$i]['wr_'.$j];
   } 
}
echo implode(", ", $lists);
 
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로