PHP 대기열

WBOY
WBOY원래의
2024-08-29 13:01:131267검색

PHP의 큐는 FIFO라고도 불리는 First In First Out 방식을 기반으로 작동하는 데이터 구조로, 4가지 기본 연산인 init, enqueue, dequeue 및 isEmpty가 큐를 정의합니다. 여기서 init 연산은 큐 생성에 사용됩니다. queue와 enqueue 연산은 queue의 끝에 항목을 추가하는 데 사용됩니다. 또는 queue의 tail과 dequeue 연산은 queue의 앞부분이나 queue의 헤드에서 항목을 제거하는 데 사용되며 isEmpty 연산이 사용됩니다. 대기열이 비어 있는지 확인하려면 대기열에 더 이상 항목이 없는지 여부를 반환합니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

PHP에서 큐를 선언하는 구문은 다음과 같습니다.

enqueue(item_to_added_to_the_queue);
dequeue();

여기서 item_to_be_add_to_the_queue는 대기열 끝이나 대기열 끝에서 대기열에 추가될 항목입니다.

PHP에서 대기열 작업

  • PHP의 큐는 FIFO라고도 불리는 First In First Out 방식으로 동작하는 데이터 구조입니다.
  • init, enqueue, dequeue 및 isEmpty라는 네 가지 기본 작업이 대기열을 정의합니다.
  • init 작업은 대기열 생성에 사용됩니다.
  • 인큐 작업은 대기열의 끝이나 대기열의 끝 부분에 항목을 추가하는 데 사용됩니다.
  • dequeue 연산은 대기열의 앞부분이나 대기열의 머리 부분에 있는 항목을 제거하는 데 사용됩니다.
  • isEmpty 작업은 대기열이 비어 있는지 확인하는 데 사용됩니다. 즉, 대기열에 더 이상 항목이 포함되어 있지 않은지 여부가 반환됩니다.

PHP 대기열의 예

아래에 언급된 예시는 다음과 같습니다

예시 #1

enqueue() 함수를 사용하여 대기열의 끝에서 항목을 대기열에 추가하고 dequeue() 함수를 사용하여 대기열의 앞쪽에서 항목을 제거하고 대기열의 내용을 표시하는 PHP 프로그램:

코드:

<?php
//creating an instance of SplQueue class
$newqueue = new SplQueue();
//using enqueue() function to the add items to the queue from the tail of the queue
$newqueue->enqueue('Welcome');
$newqueue->enqueue('to');
$newqueue->enqueue('PHP');
//using rewind() function to bring the file pointer to the beginning of the queue
$newqueue->rewind();
//using valid() function to check if the queue is valid or not after using rewind() function and then displaying the elements of the queue
while($newqueue->valid()){
echo $newqueue->current(),"\n";
$newqueue->next();
}
//printing the contents of the queue in a human readable format by using print_r function
print_r ($newqueue);
//Removing the first two items from the head of the queue using dequeue() function and then displaying the contents of the queue in human readable form using print_r function
$newqueue->dequeue();
$newqueue->dequeue();
print_r ($newqueue);
?>

출력:

PHP 대기열

위 프로그램에서는 SplQueue() 클래스의 인스턴스를 생성하고 있습니다. 그런 다음 대기열의 꼬리 또는 대기열의 끝에서 대기열에 항목을 추가합니다. 그런 다음 rewind() 함수를 사용하여 파일 포인터를 대기열의 시작 부분으로 가져옵니다. 그런 다음 rewind() 함수를 사용한 후 대기열의 요소를 표시한 후 valid() 함수를 사용하여 대기열이 유효한지 여부를 확인합니다. 그런 다음 print_r 함수를 사용하여 사람이 읽을 수 있는 형식으로 대기열의 내용을 인쇄합니다. 그런 다음 dequeue() 함수를 사용하여 대기열의 헤드에서 처음 두 항목을 제거한 다음 print_r 함수를 사용하여 dequeuer() 함수를 사용하여 사람이 읽을 수 있는 형식으로 대기열 내용을 표시합니다. 출력은 위의 스냅샷에 표시됩니다.

예시 #2

enqueue() 함수를 사용하여 대기열의 끝에서 항목을 대기열에 추가하고 dequeue() 함수를 사용하여 대기열의 앞쪽에서 항목을 제거하고 대기열의 내용을 표시하는 PHP 프로그램:

코드:

<?php
//creating an instance of SplQueue class
$newqueue = new SplQueue();
//using enqueue() function to the add items to the queue from the tail of the queue
$newqueue->enqueue('Welcome');
$newqueue->enqueue('to');
$newqueue->enqueue('EDUCBA');
//using rewind() function to bring the file pointer to the beginning of the queue
$newqueue->rewind();
//using valid() function to check if the queue is valid or not after using rewind() function and then displaying the elements of the queue
while($newqueue->valid()){
echo $newqueue->current(),"\n";
$newqueue->next();
}
//printing the contents of the queue in a human readable format by using print_r function
print_r ($newqueue);
//Removing the first two items from the head of the queue using dequeue() function and then displaying the contents of the queue in human readable form using print_r function
$newqueue->dequeue();
$newqueue->dequeue();
$newqueue->dequeue();
print_r ($newqueue);
?>

출력:

PHP 대기열

위 프로그램에서는 SplQueue() 클래스의 인스턴스를 생성하고 있습니다. 그런 다음 대기열의 꼬리 또는 대기열의 끝에서 대기열에 항목을 추가합니다. 그런 다음 rewind() 함수를 사용하여 파일 포인터를 대기열의 시작 부분으로 가져옵니다.

그런 다음 rewind() 함수를 사용한 후 대기열의 요소를 표시한 후 valid() 함수를 사용하여 대기열이 유효한지 여부를 확인합니다. 그런 다음 print_r 함수를 사용하여 사람이 읽을 수 있는 형식으로 대기열의 내용을 인쇄합니다. 그런 다음 dequeue() 함수를 사용하여 대기열의 헤드에서 세 항목을 모두 제거한 다음 빈 대기열인 print_r 함수를 사용하여 dequeuer() 함수를 사용한 후 대기열 내용을 사람이 읽을 수 있는 형식으로 표시합니다. 출력은 위의 스냅샷에 표시됩니다.

위 내용은 PHP 대기열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 스택다음 기사:PHP 스택