| 제목 | 게시판 관련 질문드립니다. | ||
|---|---|---|---|
| 글쓴이 | ci_chobo | 작성시각 | 2012/08/09 10:51:26 |
|
|
|||
ci세상님께서 올려주셨던 자료실에있는 게시판 관련 자료 질문입니다
public function seg_value($key,$segment=NULL)
{
if($segment == NULL) {
$segment = $this->uri->segment_array();
}
$this->seg_exp = array_values($segment);
$arr_key = array_keys($this->seg_exp, $key);
print_r($arr_key);
if($arr_key)
{
$arr_val = $arr_key[0] + 1;
}
else
{
$arr_val = 200;
}
if(count($this->seg_exp) > $arr_val)
{
return $this->seg_exp[$arr_val];
}
}
public function seg_index($key,$segment=NULL)
{
if($segment == NULL) {
$segment = $this->uri->segment_array();
}
$this->seg_exp = array_values($segment);
$arr_key = array_keys($this->seg_exp, $key);
$tot =count($arr_key);
if($tot > 0) {
$arr_val = $arr_key[0] + 2;
return $arr_val;
} else {
return "";
}
}
다른부분은 제가 생각하고 참고해서 추가하거나 변형한 부분이 있긴 한데그거랑은 별개로 이 부분의 코드가 이해가 잘 가질 않습니다. seg_value에서 $arr_key를 print_r로 찍어보면 Array() Array() Array() Array() Array() Array()이렇게 찍힙니다. 검색을 활성화해서 찍어보면 (검색값이 2일 때) Array ( [0] => 2 ) Array ( [0] => 4 ) Array ( [0] => 2 ) Array ( [0] => 4 ) Array ( [0] => 2 ) Array ( [0] => 4 ) Array ( ) Array ( [0] => 2 ) Array ( [0] => 4 ) 이렇게 나옵니다. 뒤에 4라고 나오는게 글의 갯수인거 같아서 확인해보니 글의 갯수는 3이구요. (print_r은 임의로 추가했다가 지웠습니다.)
if($arr_key)
{
$arr_val = $arr_key[0] + 1;
}
else
{
$arr_val = 200;
}
if(count($this->seg_exp) > $arr_val)
{
return $this->seg_exp[$arr_val];
}
그리고 부분이 $arr_val = 200을 해준 부분이나.. 그런부분이 이해가 잘 가질 않습니다..전체적으로 다른 코드는 찾아보고 계속 보다보니 이해가됐는데 이부분은 봐도 이해가 잘 안가네요... 자세하게나 간략하게라도 설명좀 해주셨으면 좋겠습니다. (프로그램적 오류는 없습니다) |
|||
| 다음글 | css layout design을 기본 제공하는 사이트 (4) | ||
| 이전글 | 뜬금없는 질문인데요..sync async (8) | ||
|
변종원(웅파)
/
2012/08/09 11:19:46 /
추천
0
|
|
ci_chobo
/
2012/08/09 11:37:44 /
추천
0
seg_value 부분에
{$arr_val = $arr_key[0] + 1;} else{$arr_val = 200;} |
|
변종원(웅파)
/
2012/08/09 17:41:58 /
추천
0
해당하는 키가 있으면 키 다음의 배열순서를 반환하고
없으면 200을 줘서 없는 값을 나타내게 한겁니다. 통상적으로 개발할때 200번째 세그먼트가 있을 수 없을테니까요. 해당 라인에서 값들 찍어보세요. ^^ |
주소를 배열로 변환하고 그 배열에서 $key에 해당하는 값을 반환하는 함수입니다.