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

本文共 995 字,大约阅读时间需要 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

 

转载地址:http://bqnno.baihongyu.com/

你可能感兴趣的文章
Linux线程
查看>>
Exchange Server 2013 系列八:邮箱服务器角色DAG实战
查看>>
一个有趣的命令
查看>>
我的友情链接
查看>>
已发布13集网站开发技术视频:http://blog.sina.com.cn/s/blog_67d27f340102vf7l.html
查看>>
Mysql ibdata 丢失或损坏如何通过frm&ibd 恢复数据
查看>>
MySQL数据库的优化(二)
查看>>
Deepin OS和WIN7双启动 花屏原因一例
查看>>
UIMenuController—为UITextField禁用UIMenuController功能
查看>>
Protobuf使用不当导致的程序内存上涨问题
查看>>
【原创】扯淡的Centos systemd与Docker冲突问题
查看>>
Spring+Mybatis多数据库的配置
查看>>
给大家推荐一个免费下载名称读写ntfs软件的地方
查看>>
在MySQL数据库建立多对多的数据表关系
查看>>
突然停电或死机导致没保存的文件怎么找回
查看>>
kudu
查看>>
jquery.validate.min.js表单验证使用
查看>>
在JS中捕获console.log的输出
查看>>
Python扫描IP段指定端口是否开放(一次扫描20个B网段没问题)
查看>>
一些常用的WebServices
查看>>