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 提供的函数
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。