首頁  >  文章  >  後端開發  >  PHP堆疊

PHP堆疊

PHPz
PHPz原創
2024-08-29 13:01:05494瀏覽

php 堆疊被定義為用於在堆疊記憶體中儲存元素的類別。堆疊是基於特定屬性的連續集合集。它可以透過使用LIFO(後進先出)屬性來儲存和檢索數據,因此輸入元素稱為放置在堆疊記憶體中的物件。因此,借助一些預設方法,將物件的第一個位置從堆疊中刪除。每當我們使用push()在堆疊中插入元素並藉助pop()方法刪除元素時,就會實現這一點。

廣告 該類別中的熱門課程 PHP 開發人員 - 專業化 | 8 門課程系列 | 3次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

文法

Php中的stack就是我們想要在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(後進先出)的原理和性質,所以最後插入的元素,也就是第一個元素,可以用pop()方法彈出。所以,每當我們想要用棧概念來實作資料結構時,這些預設方法就是用來處理這些任務的,它們都會與資料庫相關。一般來說,堆疊是一堆對象,通常可以按某種層進行排列,因此堆疊是順序集合,對於存儲或推入堆疊的每組值使用特定的屬性集,它創建了引用和堆疊每當從堆疊記憶體中刪除堆疊元素時,相同的內容都會被刪除。

每組值都保存其引用,因此如果我們想從堆疊中壓入或彈出元素,可以使用最大容量來實現。因此,如果堆疊記憶體溢出,則稱之為溢出,即拋出堆疊溢出錯誤;這是為了插入元素,如果我們使用彈出空堆疊拋出命名堆疊下溢錯誤。

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() 方法,該方法繼承自 stack 類別。這種push方法用於將元素插入堆疊記憶體中。我們使用 arary_push() 方法將元素儲存在陣列容器中。可以以索引0開始,以指定索引the結束;每個字串字元都會插入到記憶體的指定位置。它是一個順序儲存的記憶體位置;如果我們想藉助 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() 方法)從陣列中刪除第一個元素並傳回刪除元素的值。所有數值數組將使用將被修改的鍵,並在使用文字鍵時開始計算零值。如果元素被刪除,那麼一旦我們從堆疊中彈出元素,引用變數也會從記憶體中刪除。

範例 #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