首页  >  文章  >  后端开发  >  PHP堆栈

PHP堆栈

PHPz
PHPz原创
2024-08-29 13:01:05714浏览

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
上一篇:PHP Notice Undefined Index下一篇:PHP queue