현재 위치: > 최신 기사 목록> Array_Slice를 사용하여 대기열 Dequeuing 작업을 구현하십시오

Array_Slice를 사용하여 대기열 Dequeuing 작업을 구현하십시오

gitbox 2025-05-29

Array_Slice는 배열 조각을 추출하는 데 PHP가 사용하는 함수입니다. 배열에서 일부 요소를 가로 채고 원래 배열에 영향을 미치지 않고 새 배열을 반환 할 수 있습니다. 기본 구문은 다음과 같습니다.

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

  • $ 오프셋 : 가로 채기 시작하는 위치, 0은 첫 번째 요소에서 시작하는 것을 의미합니다.

  • $ 길이 (선택 사항) : 가로 채기 길이.

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

대기의 아이디어

대기열에서, Dequeueing은 첫 번째 요소를 "가져 와서 제거하는 것입니다. PHP에는이 작업을 직접 완료 할 수있는 Array_shift () 함수가 있지만이 기사는 Array_Slice를 사용 하여이 프로세스를 구현하는 방법에 중점을 둡니다.

대기열을 나타내는 배열이 있다고 가정합니다.

 $queue = ['A', 'B', 'C', 'D'];

탈취하려면 두 단계가 필요합니다.

  1. 첫 번째 요소 'a'를 제거하십시오.

  2. 나머지 요소는 새로운 대기열을 형성합니다 [ 'b', 'c', 'd'] .

array_slice를 사용하여 Dequeuing 작업을 구현하십시오

 <?php
// 원래 대기열
$queue = ['A', 'B', 'C', 'D'];

// 팀의 머리 요소를 꺼내십시오
$dequeueElement = $queue[0];

// 사용 array_slice 새 대기열을 생성하십시오,첫 번째 요소를 건너 뜁니다
$queue = array_slice($queue, 1);

// 출력 결과
echo "출발의 요소는입니다:" . $dequeueElement . "\n";
echo "새로운 대기열은입니다:";
print_r($queue);
?>

실행 결과 :

 출발의 요소는입니다:A
새로운 대기열은입니다:
Array
(
    [0] => B
    [1] => C
    [2] => D
)

분석

  • $ queue [0]는 첫 번째 요소에 Dequeue 요소로 직접 액세스됩니다.

  • Array_Slice ($ Queue, 1)는 색인 1에서 가로 채기 시작하고 첫 번째 요소를 제외한 모든 요소를 ​​얻고 새 대기열을 형성합니다.

이것은 array_slice 를 사용하여 큐의 탈신을 시뮬레이션합니다.

고급 : 함수로 캡슐화되었습니다

멀티플렉싱의 편의를 위해 기능으로 캡슐화 할 수 있습니다.

 <?php
function queueDequeue(array &$queue) {
    if (empty($queue)) {
        return null; // 대기열이 비어 있습니다,반품 null
    }
    $element = $queue[0];
    $queue = array_slice($queue, 1);
    return $element;
}

// 예
$queue = ['A', 'B', 'C', 'D'];
$first = queueDequeue($queue);

echo "출발 요소:" . $first . "\n";
print_r($queue);
?>

요약

  • Array_Slice는 배열의 모든 조각을 가로 채는 데 사용될 수 있으며, 이는 배열 헤드에서 "나머지 요소"를 가로 채기에 매우 적합합니다.

  • 배열의 첫 번째 요소에 직접 액세스하여 큐 기능을 구현합니다.

  • Array_shift 는 더 직접적이지만 Array_Slice를 사용하면 배열 작업에 대한 이해가 심화되고보다 복잡한 큐 동작을 사용자 정의 할 수 있습니다.

더 많은 PHP 관련 콘텐츠는 https://gitbox.net/php-array-funtions를 방문하여 자세한 내용을보십시오.