PHP 스택

PHPz
PHPz원래의
2024-08-29 13:01:05751검색

PHP 스택은 스택 메모리에 요소를 저장하는 데 사용되는 클래스로 정의됩니다. 스택은 특정 속성을 기반으로 하는 순차적 컬렉션 집합입니다. LIFO(last in, first out) 속성을 이용하여 데이터별로 저장하고 꺼내올 수 있으므로 입력된 요소를 스택 메모리에 배치된 객체라고 합니다. 따라서 일부 기본 메서드를 사용하여 개체의 첫 번째 위치가 스택에서 제거됩니다. 이는 push()를 사용하여 스택에 요소를 삽입하고 pop() 메서드를 사용하여 요소를 제거할 때마다 달성됩니다.

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

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

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

구문

Php 스택에는 PHP에서 스택 메모리를 구현하려고 할 때마다 클래스가 있습니다. 이 클래스의 도움으로 우리는 그것을 구성할 것입니다. 생성자를 사용하여 인스턴스를 생성할 수 있습니다. PHP 스택은 스택 메모리에서 데이터를 저장하고 검색하기 위해 몇 가지 기본 방법을 사용합니다. 또한 PHP의 다른 데이터 구조 작업에도 사용할 수 있습니다.

<?php
class classname {
Access modifier $var;
$var = new Stack();
$var -> push(argument);
$var -> pop(argument);
$var -> default methods for accessing the elements for stack memory;
----some php logics based on the requirement---
}

위 코드는 메모리에서 데이터를 저장하고 검색하기 위해 미리 정의된 메서드와 함께 스택 클래스를 사용하기 위한 기본 구문입니다.

PHP에서 스택은 어떻게 작동하나요?

스택 클래스는 주로 메모리에서 데이터를 저장하고 검색하는 데 사용됩니다. 이로 인해 LIFO(last in, first out)와 같은 원리와 속성을 따를 수 있으므로 첫 번째 요소인 마지막 위치에 삽입된 요소를 pop() 메소드를 사용하여 pop out하게 된다. 따라서 스택 개념으로 데이터 구조를 구현하려고 할 때마다 이러한 기본 메서드는 이러한 작업을 처리하는 데 사용되며 데이터베이스와 관련됩니다. 일반적으로 스택은 일반적으로 일종의 레이어로 배열할 수 있는 개체 더미이므로 스택은 저장되거나 스택에 푸시된 각 값 집합에 대한 특정 속성 집합을 사용하여 참조 및 생성된 순차적 컬렉션입니다. 스택 메모리에서 스택 요소가 제거될 때마다 동일한 요소도 제거됩니다.

모든 값 세트는 참조를 보유하므로 스택에서 요소를 푸시하거나 팝하려는 경우 최대 용량으로 구현할 수 있습니다. 따라서 스택 메모리가 오버플로되면 오버플로라고 합니다. 즉, 스택 오버플로 오류가 발생합니다. 이는 명명된 스택 언더플로 오류가 발생한 빈 스택을 팝하는 데 사용할 경우 요소를 삽입하기 위한 것입니다.

PHP 스택의 예

다음은 PHP 스택의 다양한 예입니다.

예시 #1

코드:

<?php
$var=array("siva","raman", "welcome to my domain", "Have a Nice Day" );
array_push($var,"Hi","Come back to my domain");
print_r($var);
?>

출력:

PHP 스택

위의 예에서는 스택 클래스에서 상속된 기본 array_push() 메서드를 사용했습니다. 스택 메모리에 요소를 삽입하는 푸시 방법입니다. 배열 컨테이너에 요소를 저장하기 위해 arary_push() 메서드를 사용했습니다. 인덱스 0으로 시작하여 지정된 인덱스로 끝날 수 있습니다. 모든 문자열 문자는 메모리의 지정된 위치에 삽입됩니다. 순차 저장 메모리 위치입니다. pop() 메소드를 사용하여 배열의 특정 요소를 제거하려는 경우 해당 요소는 스택 메모리에서 팝아웃됩니다.

예시 #2

코드:

<?php
class Demo
{
protected $vars;
protected $vars1;
public function __construct($vars1 = 47) {
$this->vars = array();
$this->vars1  = $vars1;
}
public function push($eg) {
if(count($this->vars) < $this->vars1) {
array_unshift($this->vars, $eg);
} else {
throw new RuntimeException("Welcome To My Domain");
}
}
public function pop() {
if (empty($this->vars)) {
throw new RuntimeException("Please try user again");
} else
return array_shift($this->vars);
}
}
}
$vars = new Demo();
$vars->push(7);
$vars->push(9);
$vars->push(11);
echo $vars->pop();
$vars->push(7);
$vars->push(9);
$vars->push(8);
echo $vars->pop();
echo $vars->pop();
?>

출력:

PHP 스택

두 번째 예에서는 스택 클래스를 다양한 방식으로 사용했습니다. 메모리에서 요소를 삽입하고 제거하기 위해 push(), pop() 메서드와 같은 기본 메서드를 호출할 수 있습니다. 또한 배열에서 첫 번째 요소를 제거하고 제거된 요소의 값을 반환하기 위해 array_shift() 메서드와 같은 다른 메서드를 사용할 수 있습니다. 모든 숫자 배열은 키를 사용하여 수정되며 리터럴 키를 사용하는 동안 0 값 계산을 시작합니다. 요소가 제거되면 요소가 스택에서 튀어나오면 참조 변수도 메모리에서 제거됩니다.

예시 #3

코드:

<?php
class Example
{
protected $vars;
protected $vars1;
function __construct($vars1 = 19) {
$this->vars = array();
$this->vars1  = $vars1;
}
function push($eg1) {
if(count($this->vars) < $this->vars1) {
array_unshift($this->vars, $eg1);
} else {
throw new RuntimeException("Welcome To Third example");
}
}
function pop() {
if (empty($this->vars)) {
throw new RuntimeException("Please try user again");
} else {
return array_shift($this->vars);
}
}
function top() {
return current($this->vars);
}
function isEmpty() {
return empty($this->vars);
echo $vars;
}
}
$vars = new Example();
$vars->push(1);
$vars->push(11);
$vars->push(111);
echo $vars->pop();
$vars->push(72);
$vars->push(92);
$vars->push(83);
echo $vars->pop();
echo $vars->pop();
echo "\n \n";
echo "The Stack memory is full \n";
?>

출력:

PHP 스택

위의 세 번째 예에서는 이전 예 2와 동일한 메서드를 사용했지만 여기서는 메모리에서 배열 목록 값을 확인하기 위해 top() 및 isEmpty()와 같은 두 가지 추가 메서드를 사용했습니다. 이 두 가지 기본 방법은 LIFO 속성 알고리즘을 사용하여 배열 크기와 스택 메모리를 검증하는 데 사용됩니다. 마지막 요소가 메모리에서 제거됩니다. array_shit() 메소드를 사용하면 첫 번째 요소의 마지막 위치부터 요소를 탐색하여 팝아웃할 수 있습니다.

결론

PHP의 스택은 스택 추적을 이해하는 데 사용되며, 사용자 잠재 고객의 데이터를 캡슐화하는 메모리입니다. push(), pop()과 같은 기본 메서드와 스택에 요소를 저장하는 다른 메서드를 사용합니다. 채워지면 스택 메모리에 요소를 삽입해야 하는 경우 스택 오버플로 오류가 발생합니다. pop()을 사용하여 요소를 제거해야 한다고 가정하면 화면에 스택 언더플로 오류가 발생합니다.

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

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