博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php标准库spl栈SplStack如何使用?
阅读量:6788 次
发布时间:2019-06-26

本文共 1048 字,大约阅读时间需要 3 分钟。

php标准库spl栈SplStack如何使用?

一、总结

php标准库spl栈SplStack介绍。(SplStack类)(各种方法都支持)

1、SplStack:$stack
=
new
SplStack(); //类:new关键字  并且写法为SplStack(两个都大写,后一个大写因为驼峰命名法,前一个大写因为类首字母大写)
2、各种方法都支持:$stack
->push(
'a'
); //因为是php类,所以是箭头->调用方法

 

 

二、php标准库spl栈SplStack介绍

栈(Stack)是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出栈)

SplStack就是继承双链表()实现栈。

类摘要如下:

简单使用如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//把栈想象成一个颠倒的数组
$stack
=
new
SplStack();
/**
 
* 可见栈和双链表的区别就是IteratorMode改变了而已,栈的IteratorMode只能为:
 
* (1)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP (默认值,迭代后数据保存)
 
* (2)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE (迭代后数据删除)
 
*/
$stack
->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE);
$stack
->push(
'a'
);
$stack
->push(
'b'
);
$stack
->push(
'c'
);
   
$stack
->pop();
//出栈
   
$stack
->offsetSet(0,
'first'
);
//index 为0的是最后一个元素
   
foreach
(
$stack
as
$item
) {
 
echo
$item
. PHP_EOL;
// first a
}
   
print_R(
$stack
);
//测试IteratorMode

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/9099256.html

你可能感兴趣的文章
App启动流程
查看>>
原理 | 分布式链路跟踪组件 SOFATracer 和 Zipkin 模型转换
查看>>
我的第一篇博客
查看>>
手把手教你如何用Python从PDF文件中导出数据(附链接)
查看>>
维珍银河完成最长距离火箭飞行,下一步剑指太空旅行
查看>>
[Python]attributeError:'module' object has no attribute 'dump'
查看>>
Docker系列教程11-使用Nexus管理Docker镜像
查看>>
业界最全,阿里云混合云灾备服务上线!
查看>>
Windows Linux 子系统可以在资源管理器中打开
查看>>
WebStorm文件类型关联设置
查看>>
13.1 Spring MVC 关于controller的字符编码
查看>>
理发店与 App 定价模型
查看>>
ES6(数组)
查看>>
php simplexml_load_file 函数执行不稳定
查看>>
C#,VB.NET如何将Word转换为PDF和Text
查看>>
玩转Kafka的生产者
查看>>
解决android.permission.WRITE_APN_SETTINGS
查看>>
py编程技巧-1.1-如何在列表、字典、集合中根据条件筛选数据
查看>>
Ruby on Rails: UUID as your ActiveRecord primary key
查看>>
Bean property属性说明
查看>>