array_slice 배열의 일부를 추출

by 조쉬 posted Dec 23, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )

array_slice()는 offset 과 length 인수에 따라 array로부터 일련의 배열 원소를 반환한다.


array : 입력 배열.

offset : offset이 음수가 아니면, 일련의 값은 array의 그 offset 수부터 시작할것이다. offset이 음수이면, 일련의 값은 array의 끝에서부터 그 수만큼 떨어진 곳에서부터 시작한다.

length : length가 주어지고 양수이면, 일련의 값은 그 수만큼의 배열 원소가 될것이다. length가 주어지고 음수이면, 배열의 끝에서부터 그 수만큼의 배열원소가 될것이다. 이 인수가 생략되면, 일련의 값은 offset에서부터 array 끝까지의 모든 원소를 가지게 된다.

preserve_keys : array_slice()는 기본값으로 배열 인덱스를 초기화하여 다시 정렬한다. preserve_keys를 TRUE로 설정하여 이 동작을 바꿀 수 있다.


[예]

function cut_str($str, $len, $suffix="…") {
  $arr_str = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
  $str_len = count($arr_str);

  if ($str_len >= $len) {
    $slice_str = array_slice($arr_str, 0, $len);
    $str = join("", $slice_str);

    return $str . ($str_len > $len ? $suffix : '');
  } else {
    $str = join("", $arr_str);
    return $str;
  }
}