blogger
blogger - 범위 연산자
이 연산자는 배열의 출력 결과를 제어하는데 사용할 수 있습니다.
limit, take 연산자는 출력을 제한하는 연산자로 최대 출력 수를 지정할 수 있습니다. 간단한 예제를 살펴 보도록 합시다.
offset 과 skip 연산자는 주어진 수만큼 건너뛰기를 출력합니다.
이 경우 2 와 9 사이의 범위를 지정하였기 때문에 출력되는 수는 2 부터 9 사이의 수를 반환합니다. 하지만 게시물을 포함한 배열은 직접적으로 가져올 수 없으므로 최근글 중 3, 4, 5 인 게시물만 가져오려면 아래와 같이 <b:loop>를 하나 더 만들어 해결할 수 있습니다.
연산자 | 의 미 | Ex. |
---|---|---|
Limit | 출력 제한 연산자 | array limit number |
Take | 출력 제한 연산자 | array take number |
Skip | 건너 뛰기 연산자 | array skip number |
Offset | 건너 뛰기 연산자 | array offset number |
To | 범위 지정 연산자 | number to number |
limit, take 연산자는 출력을 제한하는 연산자로 최대 출력 수를 지정할 수 있습니다. 간단한 예제를 살펴 보도록 합시다.
<b:loop values='["Hello", "Habony", "PHP"] limit 2' var='item'>
<data:item/>
</b:loop>
<!--//
결과:
Hello Habony
//-->
이 경우 배열에는 3개의 값이 존재합니다. 우리는 limit 문을 이용해 2개의 값으로 제한하였기 때문에 hello 와 habony 만 출력합니다.
데이터가 포함된 게시물도 동일하게 동작합니다. 아래 코드 결과는 처음 두 개의 게시물 제목만 출력하고 나머지는 무시됩니다.
<b:loop values='data:posts limit 2' var='item'>
<data:post.title/><br/>
</b:loop>
offset 과 skip 연산자는 주어진 수만큼 건너뛰기를 출력합니다.
<b:loop values='["Hello", "Habony", "PHP"] offset 2' var='item'>
<data:item/>
</b:loop>
<!--//
결과:
PHP
//-->
연산자 limit 와는 반대로 주어진 수만큼 건너뛰기 한 다음부터 출력합니다. 그러므로 위 코드는 주어진 배열 중에서 두 개를 건너뛰므로 “PHP”만 출력하게 됩니다.
to 연산자는 범위 지정 연산자로 사용할 수 있습니다. 예를 들어 x 에서 y 까지 배열을 만들어 출력합니다.
<b:loop values='2 to 9' var='item'>
<data:item/>&nbsp;
</b:loop>
<!--//
결과:
2 3 4 5 6 7 8 9
//-->
<b:loop values='2 to 4' var='range'>
<b:loop index='num' values='data:posts' var='post'>
<b:if cond='data:num == data:range'>
<data:post.title/><br/>
</b:if>
</b:loop>
</b:loop>
우리는 3, 4, 5 인 게시물을 가져오기 위해 범위를 지정하였는데, <b:loop> 인덱스 번호는 0부터 시작하므로 <2 to 4>로 범위를 지정하였습니다.
첫 번째 루프는 2, 3, 4 를 만들고 두 번째 루프에서 “num”이라는 인덱스 변수를 만들었습니다. num 변수에는 0부터 시작하여 증가 값을 저장하게 됩니다. 그 다음 조건식을 이용해 num 변수와 range 변수의 값과 일치하는 수이면 게시물 제목을 출력하는 식입니다.
예를 들어 현재 루프에 총 7개의 게시물이 있다고 가정해 봅시다. 7개의 게시물 번호는 0부터 6까지입니다. 우리는 2, 3, 4 의 배열을 만들어 게시물이 2~4에 해당하는 게시물을 출력하고, 나머지는 무시하게 됩니다.
0 댓글