현재 위치: > 최신 기사 목록> Array_Slice를 사용하여 배열의 서브 세트를 만듭니다

Array_Slice를 사용하여 배열의 서브 세트를 만듭니다

gitbox 2025-05-28

매일 PHP 프로그래밍에서는 종종 서브 세트 데이터를 표시, 페이지를 찍거나 처리하기위한 배열에서 요소의 일부를 추출해야합니다. PHP 매우 실용적인 기능을 제공합니다.

array_slice 란 무엇입니까?

Array_Slice ()는 배열에서 하위 배열을 추출하는 데 사용되는 PHP의 함수입니다. 원래 배열을 변경하지는 않지만 인터셉트 된 부분의 새 배열을 반환합니다. 기본 구문은 다음과 같습니다.

 array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
  • $ 배열 : 원래 배열.

  • $ 오프셋 : 인터셉트를 시작할 위치. 음수 인 경우 배열 끝에서 왕복 운동으로 시작합니다.

  • $ 길이 (선택 사항) : 가로 채울 요소 수입니다. 생략하면 오프셋에서 배열 끝까지 가로 채 웁니다.

  • $ preserve_keys (선택 사항) : 원래 키 이름을 유지할지 여부는 기본값이 false 입니다.

샘플 설명

예 1 : 기본 사용

 $fruits = ['apple', 'banana', 'orange', 'grape', 'melon'];
$sliced = array_slice($fruits, 1, 3);
print_r($sliced);

산출:

 Array
(
    [0] => banana
    [1] => orange
    [2] => grape
)

첨자 1에서 시작하여 3 요소를 가로 채십시오. Preserve_keys는 거부가 거짓 으로 표시되므로 키 이름은 재정렬됩니다.

예 2 : 원래 키 이름을 유지하십시오

 $fruits = ['a' => 'apple', 'b' => 'banana', 'c' => 'orange', 'd' => 'grape'];
$sliced = array_slice($fruits, 1, 2, true);
print_r($sliced);

산출:

 Array
(
    [b] => banana
    [c] => orange
)

여기서 우리는 preserve_keys를 true 로 설정하므로 원래 배열의 키 이름이 보존됩니다.

예 3 : 음의 오프셋

 $numbers = [10, 20, 30, 40, 50];
$sliced = array_slice($numbers, -3, 2);
print_r($sliced);

산출:

 Array
(
    [0] => 30
    [1] => 40
)

어레이 오프셋을 사용하여 배열 끝에서 세 번째 마지막 요소에서 2를 가로 채립니다.

실제 적용 : 페이지 매김 처리

데이터베이스의 여러 기사 제목이 포함 된 배열을 읽고 이제 페이지 당 5 가지 데이터를 표시하는 페이징을 구현해야합니다.

 $articles = [
    '기사1', '기사2', '기사3', '기사4', '기사5',
    '기사6', '기사7', '기사8', '기사9', '기사10',
    '기사11', '기사12'
];

$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$pageSize = 5;
$offset = ($page - 1) * $pageSize;

$pagedArticles = array_slice($articles, $offset, $pageSize);

foreach ($pagedArticles as $article) {
    echo "<p>$article</p>";
}

// 샘플 페이징 링크
echo '<a href="https://gitbox.net/articles.php?page=1">첫 페이지</a> ';
echo '<a href="https://gitbox.net/articles.php?page=2">1.2페이지</a> ';
echo '<a href="https://gitbox.net/articles.php?page=3">1.3페이지</a>';

위의 코드는 $ _get 매개 변수 와 결합하여 간단한 페이징 기능을 구현하고 페이징 링크를 생성하는 방법을 보여줍니다. 여기서 URL은 gitbox.net 도메인 이름을 사용합니다.

요약

Array_Slice () 는 배열 차단 작업을 처리하기위한 필수 도구입니다. 유연하고 효율적이며 사용하기 간단합니다. 오프셋, 길이 및 preserve_keys 매개 변수를 합리적으로 사용하면 다른 시나리오에 따라 필요한 배열의 서브 세트를 신속하게 얻을 수 있습니다. 데이터 페이징, 목록 디스플레이 또는 데이터 필터링에 관계없이 Array_Slice ()는 기술을 과시 할 수 있습니다.