この記事は、PHP でのヒープとスタックの使用法を紹介しています。必要な友達に共有します。
この記事を通じて、広義のヒープとスタックについて知ることができますが、php での具体的な用途についてはどうすればよいでしょうか?
これら 2 つの関数はスタック上で動作し、先入れ後出しの原則に従います。樽に何かを加えるようなものです。プッシュ操作は array_push を通じて実行され、ポップ操作は array_pop を通じて実行されます。アドバンストスタックはバレルの底にあります。
(1)array_push()メソッド
array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。该函数等于多次调用 $array[] = $value。(2)array_pop()メソッド
array_pop() 函数删除数组中的最后一个元素。
返回数组的最后一个值。如果数组是空的,或者非数组,将返回 NULL。
<?php
$arr = array();
array_push($arr,'aaa'); //先入栈 aaa
array_push($arr,'bbb'); //后入栈 bbb
print_r($arr); //此时打印结果为:[0]=>aaa,[1]=>bbb
$arr.pop(); //进行出栈操作,先进后出原则,则此时相当于bbb出栈了。
print_r($arr); //打印结果应该是[0]=>aaa?>
3. PHPで実装されたキュー
1.キュー
キューモデルは、食べるために並ぶこととして理解できます。先に並んだ人が先に食べられます。
2. キュー操作要素を追加するにはphpのarray_push()を使用し、要素を削除するにはarray_shift()を使用します。
(1)array_shift()メソッド
array_shift() 函数删除数组中第一个元素,并返回被删除元素的值。 如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增
具体的なリファレンスマニュアル: http://www.w3school.com.cn/php/func_array_shift.asp
(2) 例:
<?php $arr = array(); array_push($arr,'aaa'); //队列中添加 aaa array_push($arr,'bbb'); // 队列中添加 bbb print_r($arr); //此时打印输出为 [0]=>aaa,[1]=>bbb array_shift($arr); //删除第一个元素,遵循先进先出原则,删除的是aaa print_r($arr); //打印结果为 [0]=>bbb?>(3) ) 両端キュー
両端で挿入と削除操作を可能にする特別なキューもあります。標準キューとの違いは、追加のキューがあることです。キューの先頭で挿入操作が行われ、キューの最後で削除操作が行われます。通常は、PHP の配列関数、array_unshift() および array_shift() を使用します。
具体的な参考: PHP キューの原理とキューベースのファイル書き込みケース 4. キューの目的
キューは、データベースにデータを頻繁に挿入し、エンジンが頻繁に検索する場合に、データの送信と保存を非常にうまく処理できます。データを送信すると、そのデータをキューに非同期的に挿入できます。さらに、FLV ビデオ変換、携帯電話のテキスト メッセージの送信、電子メールの送信など、メッセージ キューを介した処理のために、低速の処理ロジックや同時実行性が制限された処理ロジックをバックグラウンドに配置することもできます。
終了
以上がPHPでのヒープとスタックの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。