PHP 设计模式 笔记与总结(3)SPL 标准库

SPL 库的使用(PHP 标准库)

1. SplStack,SplQueue,SplHeap,SplFixedArray 等数据结构类

① 栈(SplStack)(先进后出的数据结构)

index.php:

<?php
define(‘BASEDIR‘,__DIR__); //定义根目录常量
include BASEDIR.‘/Common/Loader.php‘;
spl_autoload_register(‘\\Common\\Loader::autoload‘);

$stack = new SplStack();
$stack->push("data1\n");     //入栈
$stack->push("data2\n");

echo $stack->pop();        //出栈
echo $stack->pop();        

运行,页面输出(查看源文件):

data2
data1

② 队列(SplQueue)(先进先出的数据结构)

index.php:

<?php
define(‘BASEDIR‘,__DIR__); //定义根目录常量
include BASEDIR.‘/Common/Loader.php‘;
spl_autoload_register(‘\\Common\\Loader::autoload‘);

$queue = new SplQueue();
$queue->enqueue("data1\n");     //入队
$queue->enqueue("data2\n");

echo $queue->dequeue();        //出队
echo $queue->dequeue();        

运行,页面输出(查看源文件):

data1
data2

③ 堆(SplHeap)

最小对:SplMinHeap

index.php:

<?php
define(‘BASEDIR‘,__DIR__); //定义根目录常量
include BASEDIR.‘/Common/Loader.php‘;
spl_autoload_register(‘\\Common\\Loader::autoload‘);

$head = new SplMinHeap();
$head->insert("data1\n");     //存入堆
$head->insert("data2\n");

echo $head->extract();        //提取堆中的数据
echo $head->extract();        

运行,页面输出(源代码):

data1
data2

④ 固定尺寸的数组(SplFixedArray )

index.php:

<?php
define(‘BASEDIR‘,__DIR__); //定义根目录常量
include BASEDIR.‘/Common/Loader.php‘;
spl_autoload_register(‘\\Common\\Loader::autoload‘);

$array = new SplFixedArray(10);  //固定长度的数组,例如长度为10
$array[0] = 123;
$array[9] = 1234;

var_dump($array);

运行,页面输出:

object(SplFixedArray)[1]
  int 123
  null
  null
  null
  null
  null
  null
  null
  null
  int 1234

2. ArrayIterator、AppendIterator、Countable、ArrayObject

3. SPL 提供的函数

时间: 2024-10-14 09:16:12

PHP 设计模式 笔记与总结(3)SPL 标准库的相关文章

VHDL细节笔记(含std_logic Libraries标准库的技术手册)

1. others=>'0'是什么意思? q <= (others=>'0'); 表示将q的所有位赋值为0,当q位数较多时比较方便... 2. if (clk'event and clk='1' )是什么意思? 信号属性函数:用来得到有关信号的行为功能信息; 信号'event:当前的一个相当小的时间间隔内有信号事件发生,则返回'true',否则返回'false'; 3.关于conv_std_logic_vector 和 conv_integer 这两个函数的使用问题 全文来自于此:htt

C++ Primer 第四版读书笔记(二)之标准库类型

C++定义了一个内容丰富的抽象数据类型标准库,其中最重要的标准库类型是string和vector,它们分别定义了大小可变的字符串和集合.string和vector往往将迭代器用作配套类型,用于访问string中的字符,或者vector中的元素. 另一种标准库类型为bitset,提供了一种抽象方法来操作位的集合. string类型支持长度可变的字符串,vector用于保存一组指定类型的对象. bitset类标准库类型提供了更方便和合理有效的语言级的抽象设施.通过这个类可以把某个值当作位的集合来处理

PHP的SPL标准库

1,简介 SPL,全称 Standard PHP Library 中文是 标准PHP类库.是php内置的一些拓展类和拓展接口,其内容包含数据结构.迭代器.接口.异常.SPL函数,文件处理等内容.SPL拓展只能用于PHP5.3版本及以后,并且不需要进行额外的配置,可以直接使用.详细信息可以进入PHP官方网站https://www.php.net/spl查看. 这里主要说明SPL中的数据结构内容的使用. 2,使用 1.栈 栈是一种先进先出的数据结构.并且只能对栈的两端进行操作,进栈或者出栈.SplS

SPL标准库-数据结构

数据结构:栈 $stack = new SplStack();$stack->push("data1\n");$stack->push("data2\n");echo $stack->pop();echo $stack->pop(); 数据结构:队列 $queue = new SplQueue();$queue->enqueue("data1\n");$queue->enqueue("data2\n&

SPL标准库常用的数据结构

栈数据结构 1 $stack = new SplStack(); //栈数据结构->先进后出 2 $stack->push('data1'); //入栈 3 $stack->push('data2'); //入栈 4 echo $stack->pop(); //出栈->data2 5 echo $stack->pop(); //出栈->data1 队列数据结构 1 $queue = new SplQueue(); //队列数据结构->先进先出 2 $queu

大话PHP设计模式笔记

针对PHP的设计模式进行总结记录. 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了.  笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2   一.关于命名空间命名空间1.命名空间介绍2.命名空间使用 实例:test1.php文件代码: 1 2 3 4 5 6 7 <?php namespace Test1; function test(

PHP设计模式笔记二:面向对象 -- Rango韩老师 http://www.imooc.com/learn/236

SPL标准库的使用 SPL是用于解决典型问题(standard problems)的一组接口与类的集合. 1.SPL提供了很多数据结构类,如SplStack.SqlQueue.SqlHeap.SplFixedArray等 实例代码如下: a.栈 b.队列 c.定长数组 2.PHP链式操作的实现 index.php IMooc/Database.php 3.PHP魔术方法 a.__get\__set:对象属性的管理 index.php Object.php output : string(19)

SPL(PHP标准库)-----------------------个人笔记

<?php     ****************************************PHP高级程序员必修课******************************************************* //SPL:PHP标准库,Standand  PHP  Library   解决常见问题的一组接口与类的集合 /* 问题:数学建模/数据结构,解决数据如何存储的问题 元素便利,数据如何查看的问题 常用方法的统一调用(通用方法,自定义遍历) 类定义的自动装载 */ /

PHP标准库 SPL

PHP SPL笔记 这几天,我在学习PHP语言中的SPL. 这个东西应该属于PHP中的高级内容,看上去很复杂,但是非常有用,所以我做了长篇笔记.不然记不住,以后要用的时候,还是要从头学起. 由于这是供自己参考的笔记,不是教程,所以写得比较简单,没有多解释.但是我想,如果你是一个熟练的PHP5程序员,应该足以看懂下面的材料,而且会发现它很有用.现在除此之外,网上根本没有任何深入的SPL中文介绍. ================ PHP SPL笔记 目录 第一部分 简介 1. 什么是SPL? 2.