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

 2023-09-05 阅读 21 评论 0

摘要:SPL 库的使用(PHP 标准库) 1. SplStack,SplQueue,SplHeap,SplFixedArray 等数据结构类 ① 栈(SplStack)(先进后出的数据结构) index.php: <?php define('BASEDIR',__DIR__); //定义根目录常量 inc

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 123nullnullnullnullnullnullnullnullint 1234

 

 

2. ArrayIterator、AppendIterator、Countable、ArrayObject

3. SPL 提供的函数

 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/1510.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息