변수의 개수를 알아내고 for문을 돌리는 경우에서 질문드립니다. 채택완료
쌀쌀한 날씨에 감기 조심들 하세요~
우선 제가 구현하고 싶은 것을 순서대로 설명드리면...
$aaa, $bbb, $ccc, $ddd, $eee 라는 변수가 있을 때 이 다섯개의 변수 중 실제 값이 존재하는 것이 몇개인지를 뽑아 그만큼 for문을 돌리는데 제일 마지막 줄 끝에는 ,(콤마)를 빼려고 합니다.
</p>
<p><?php</p>
<p>$aaa = "사과",</p>
<p>$bbb = "배";</p>
<p>$ccc ="감";</p>
<p>$ddd = "";</p>
<p>$eee = "딸기";</p>
<p>/*위 변수에서 실제 값이 존재하는 변수의 갯수를 뽑는다*/</p>
<p>$count = /*해결 못한 부분*/;</p>
<p> </p>
<p>for ($i=0; $i<=$count; $i++) { </p>
<p> echo "블라블라블라".",";</p>
<p> /*마지막줄의 제일 마지막 콤마는 뺀다 - 해결 안된 부분*/</p>
<p>}</p>
<p>?></p>
<p>
스크립트에 사용하려고 준비중인데 이 상태에서 진도가 나가질 않습니다.
변수의 갯수를 뽑는 부분과 for문에서 마지막 콤마를 빼는 부분이 어렵네요.
고수님들의 도움 부탁드립니다.
답변 3개
<?php
$temp = array();
$temp[] = "사과",
$temp[] = "배";
$temp[] = "감";
$temp[] = "";
$temp[] = "딸기";</p>
<p>$str = '';
for ($i=0; $i<count($temp); $i++) {
if($temp[$i] != '')
{
$str .= $temp[$i].",";
}
}
if(strlen($str)>0)
{
echo substr($str, 0 ,-1);
}
?>
하시면 될것 같습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
카운트는 $count = count(array_filter(new array($aaa, $bbb, $ccc, $ddd, $eee)));
이렇게 하면 될 것 같고
마지막줄의 제일 마지막 콤마는
echo "블라블라블라";
if($i != $count) echo ',';
하시면 될 것 같네요
답변에 대한 댓글 1개
구문중에 new는 js에서 사용하는 것 같아요 ㅎㅎ
댓글을 작성하려면 로그인이 필요합니다.
</p>
<pre>
for ($i=0; $i<=$count; $i++) {
$result .= "블라블라블라".",";
/*마지막줄의 제일 마지막 콤마는 뺀다 - 해결 안된 부분*/
}
echo result = substr($result,0,-1);
</pre>
<p>
마지막 콤마는 저런식으로 하시면 되고,
변수는 배열을 이용하세요.
a[0] = 'ㅁㄴㅇㄹ'
a[3] ='asdf'
</p>
<p>for ($i=0; $i<count(a); $i++) { </p>
<p>if(a[i]){ //만약 a의 배열값이 있으면..</p>
<p>result .= a[i].","</p>
<p>}</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
배열값이 인풋에서 받는 값이라 조금 변경하여 바로 적용할 수 있었네요. ^^