채택완료

php 더하기 표현 구문 문의드립니다.

2017-10-12 (목) 09:34:08 2,534

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

Copy
<?php	for ($i=0; $i<count($list); $i++) {		if ($i==0) {  	    	$style_css3 = "li:first-of-type";	    } else {	    	$k=$i+1;	    	$style_css3 = "li:nth-of-type(".$k.")";	    }?>

$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개 / 댓글 2개

채택된 답변
+20 포인트
2017-10-12 (목) 09:40:39

Copy
for ($i=0; $i<count($list); $i++) $style_css3 = ($i == 0) ? "li:first-of-type" : "li:nth-of-type(".($i+1).")";
 


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

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

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

답변에 대한 댓글 1개

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

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


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

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

답변에 대한 댓글 1개

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

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