PHP에서 array_unshift () 함수는 하나 이상의 요소를 배열의 시작 부분에 삽입 할 수 있습니다. 이 기능은 일반적으로 스택 작업, 특히 "푸시"작업을 구현하기 위해 스택 작업을 시뮬레이션하는 데 사용됩니다. 많은 개발자들은 PHP의 array_push () 가 스택 작업을 구현하는 올바른 방법이라고 잘못 생각합니다. 실제로 Array_unshift ()는 특히 데이터를 순서대로 처리해야 할 때 스택에 더 가까운 기능입니다.
스택은 "First in First Out"의 원리를 따르는 데이터 구조입니다. 즉, 스택에 추가 된 요소가 먼저 제거됩니다. 스택에는 두 가지 기본 작업이 있습니다.
푸시 : 스택 상단에 요소를 추가하십시오.
팝 : 스택 상단에서 요소를 제거합니다.
PHP에는 두 가지 공통 스택 구현 방법이 있습니다. 하나는 Array_Push () 및 Array_Pop ()을 사용하고 다른 하나는 Array_Unshift () 및 Array_Shift ()를 사용하는 것입니다. 오늘 우리는 두 번째 방법 인 array_unshift ()를 사용하여 스택의 푸시 작동을 시뮬레이션하는 방법에 중점을 둡니다.
array_unshift () 함수의 함수는 배열의 시작 부분에 하나 이상의 요소를 삽입하는 것입니다. 이는 실제로 스택의 푸시 작동과 동일합니다. 다음 코드 예를 참조하십시오.
<?php
// 빈 배열을 초기화하십시오
$stack = array();
// 사용 array_unshift 성취하다 push 작동하다
array_unshift($stack, "첫 번째 요소");
array_unshift($stack, "두 번째 요소");
array_unshift($stack, "세 번째 요소");
// 인쇄 스택의 요소
print_r($stack);
?>
출력 결과 :
Array
(
[0] => 세 번째 요소
[1] => 두 번째 요소
[2] => 첫 번째 요소
)
보시다시피, Array_Unshift ()를 사용한 후 최신 요소는 항상 배열의 전면에 추가되며 스택의 마지막 최후의 첫 번째 (LIFO) 기능을 구현합니다.
Array_Push () 는 배열 끝에 요소를 추가하는 것이지만 스택 특성을 준수하는 작업이 필요한 경우 Array_Unshift ()가 더 적절합니다. 그 이유는 :
마지막으로 마지막으로 : 매번 요소는 Array_unshift () 를 통해 배열의 전면 끝에 배치되어 마지막 추가 요소에 먼저 액세스 할 수 있습니다.
최상위 요소 우선 순위 : Array_Push () 와 비교하여 Array_unshift ()는 최신 요소가 항상 배열의 "스택 상단"에 있음을 보장합니다.
Array_unshift () 는 "푸시"작업을 구현하는 데 사용될 수 있지만 스택의 핵심은 요소를 추가 할뿐만 아니라 스택 상단에서 요소를 제거 할 수있는 것입니다. 이렇게하려면 Array_Shift ()를 사용하여 "POP"작업을 시뮬레이션 할 수 있습니다.
<?php
// 사용 array_shift 스택 상단에서 요소를 제거하십시오
$removedElement = array_shift($stack);
echo "제거 된 요소: " . $removedElement . "\n";
// 인쇄 스택의 요소
print_r($stack);
?>
출력 결과 :
제거 된 요소: 세 번째 요소
Array
(
[0] => 두 번째 요소
[1] => 첫 번째 요소
)
이런 식으로 스택의 "푸시"및 "팝"작업을 완전히 시뮬레이션 할 수 있습니다.
array_unshift ()를 사용하여 스택의 작동 특성에 더 일치하는 푸시 작업을 구현하여 새로운 요소가 항상 스택의 맨 위에 있는지 확인하십시오.
array_shift ()를 사용하여 스택의 상단 요소를 제거하고 스택의 "팝"작동을 시뮬레이션합니다.
데이터 처리 또는 복잡한 알고리즘 스택 구조를 구현하든 Array_unshift () 및 Array_shift ()는 마스터 링 가치가있는 기본 기술입니다.