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

php 더하기 표현 구문 문의드립니다. 채택완료

무와보 8년 전 조회 2,383

아래와 같이 style값에 대해 문의드립니다.


</p><p><?php</p><p><span style="white-space:pre">	</span>for ($i=0; $i<count($list); $i++) {</p><p><span style="font-size: 11pt; white-space: pre;">		</span><span style="font-size: 11pt;">if ($i==0) { </span> </p><p><span style="white-space:pre">	</span>    <span style="white-space:pre">	</span>$style_css3 = "li:first-of-type";</p><p><span style="white-space:pre">	</span>    } else {</p><p><span style="white-space:pre">	</span>    <span style="white-space:pre">	</span>$k=$i+1;</p><p><span style="white-space:pre">	</span>    <span style="white-space:pre">	</span>$style_css3 = "li:nth-of-type(".$k.")";</p><p><span style="white-space:pre">	</span>    }</p><p>?></p><p>


$style_css3 값에 0일때를 제외하고 나머지 값이 2,3,4,5 이렇게 순서대로 들어가게 하려고 합니다.

위처럼 하면 원하는 대로 첫번째 값만 li:first-of-type 로 나오고 두번째 부터는 li:first-of-type(2), li:first-of-type(3) 이렇게 제대로 나오긴 합니다.

처음 제가 원했던 것은

     $k=$i+1;

     $style_css3 = "li:nth-of-type(".$k.")";

이런 형태가 아니라

     $style_css3 = "li:nth-of-type(".$i+1.")"; 

이런 식의 구성을 생각했었습니다.

그런데 뜻대로 구현되지 않네요.


변수 값에 $i 다음 사칙연산을 사용할 때 위처럼 한줄로 표현하려면 어떻게 해야 하나요?


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

답변 2개

채택된 답변
+20 포인트

</span></p><p style="margin-left: 40px;"><span style="font-size: 9pt;">for ($i=0; $i<count($list); $i++) </span></p><p style="margin-left: 80px;"><span style="font-size: 9pt;">$style_css3 = ($i == 0) ? "li:first-of-type" : "li:nth-of-type(".($i+1).")";</span></p><p style="margin-left: 0px;"><span style="font-size: 9pt;">
 


안녕하세요. 인아이디어입니다.

이걸 말씀하신건지 잘 모르겠네요 ''

위의 for문과 결과값은 같습니다 : )

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

답변에 대한 댓글 1개

무와보
8년 전
맞습니다 ^^
괄호한에 묶어야 연산을 할 수 있었군요..
php 수준이 너무 떨어지니 기초적인 것도 잘 모르네요..
감사합니다~

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

8년 전

$style_css3 = "li:nth-of-type(".$i+1.")";


$style_css3 = "li:nth-of-type(". intval($i+1) .")";


이런식으로 형변환을 해주셔야 되지 않을까 싶으네요
 

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

답변에 대한 댓글 1개

무와보
8년 전
intval로 뽑아내는 것도 방법이었군요~
이렇게 또 하나 배워갑니다.
감사합니다.

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

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

로그인