ホームページ  >  記事  >  バックエンド開発  >  PHPスタック

PHPスタック

PHPz
PHPzオリジナル
2024-08-29 13:01:05696ブラウズ

php スタックは、スタック メモリに要素を格納するために使用されるクラスとして定義されます。スタックは、特定のプロパティに基づいた一連のコレクションです。 LIFO(後入れ先出し) プロパティを使用してデータを保存および取得できるため、入力要素はスタック メモリ上に配置されたオブジェクトと呼ばれます。したがって、オブジェクトの最初の場所は、いくつかのデフォルトのメソッドを使用してスタックから削除されます。これは、push() を使用してスタックに要素を挿入し、pop() メソッドを使用して要素を削除するたびに実現されます。

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文

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(後入れ先出し)のような原理と性質に従うことができるので、最初の要素である最後の位置に挿入された要素を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() メソッドを使用しました。このプッシュメソッドは、スタックメモリに要素を挿入します。要素を配列コンテナに保存するには、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スタック

2 番目の例では、スタック クラスをさまざまな方法で使用しました。 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スタック

上記の 3 番目の例では、前の例 2 と同じメソッドを使用しましたが、ここでは、メモリから配列リストの値をチェックするために、top() や isEmpty() などの他の 2 つの追加メソッドを使用しました。これら 2 つのデフォルトのメソッドは、LIFO プロパティ アルゴリズムを使用して配列のサイズとスタック メモリを検証するために使用されます。最後の要素がメモリから削除されます。 array_shit() メソッドを使用すると、最初の要素の最後の位置から要素をトラバースしてポップアウトできます。

結論

php のスタックは、スタック トレース、つまりユーザー プロスペクティブのデータをカプセル化するメモリを理解するために使用されます。 Push()、pop()、さらにはスタックに要素を格納するためのその他のメソッドなどのデフォルトのメソッドを使用します。要素がスタック メモリに挿入されるとスタック オーバーフロー エラーがスローされ、pop() を使用して要素を削除する必要がある場合は、画面上でスタック アンダーフロー エラーがスローされます。

以上がPHPスタックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。