PHP-SplDoublyLinkedList
<?php
/**
* @package a doubly linked list test
* @author zhaoyingnan<zhaoyn@bbtree.com>
* @copyright
* @version
* @since
**/ /* SplDoublyLinkedList
* 方法
SplDoublyLinkedList implements Iterator , ArrayAccess , Countable
{
public __construct ( void )
public void add ( mixed $index , mixed $newval ) 在指定的索引位置插入值
public mixed bottom ( void ) 查看开始位置的节点
public mixed top ( void ) 查看结束位置的节点
public int count ( void ) 返回所有的元素的数量
public void rewind ( void ) 倒回迭代器的开始
public mixed current ( void ) 返回当前节点的信息
public mixed key ( void ) 返回当前节点的索引
public void setIteratorMode ( int $mode ) 设置迭代的模式
public int getIteratorMode ( void ) 返回迭代的模式
public bool isEmpty ( void ) 检查该双向列表是否是空的
public void next ( void ) 移动到下一个节点
public void prev ( void ) 移动到上一个节点
public bool offsetExists ( mixed $index )
public mixed offsetGet ( mixed $index )
public void offsetSet ( mixed $index , mixed $newval )
public void offsetUnset ( mixed $index )
public mixed pop ( void ) 从双向列表的末尾弹出一个节点
public void push ( mixed $value ) 向双向列表的末尾推入一个元素
public mixed shift ( void ) 从双向列表的头部弹出一个节点
public void unshift ( mixed $value ) 向双向列表的头部插入一个元素
public string serialize ( void )
public void unserialize ( string $serialized )
public bool valid ( void ) 检查双向列表是否有更多的节点
}
*/
$SplDoublyLinkedList = new SplDoublyLinkedList();
$mysqli = new mysqli('114.55.104.117', 'db_writer', 'ka_32^%*ko', 'db_community');
if($mysqli->connect_errno)
exit('Mysql connect error ' . $mysqli->connect_error);
$query = "show tables like '%zhs_user_timeline_%'";
$result = $mysqli->query($query);
if(!$result)
exit('error ' . $mysqli->error);
while($row = $result->fetch_row())
{
//list($arData[]) = array_values($row);
$SplDoublyLinkedList->push($row[0]);
}
$result->close();
$mysqli->close(); echo count($SplDoublyLinkedList), PHP_EOL;
$SplDoublyLinkedList->rewind();
while($SplDoublyLinkedList->valid())
{
var_export($SplDoublyLinkedList->shift());
echo PHP_EOL;
echo count($SplDoublyLinkedList), PHP_EOL;
$SplDoublyLinkedList->next();
}
echo count($SplDoublyLinkedList);
?>
PHP-SplDoublyLinkedList的更多相关文章
- SPL學習之SplDoublyLinkedList
Standard PHP Library(SPL)是官方提供的标准库,从php5.0.0开始已经默认实现在php中,我们可以类比它为ruby中的gem安装的包.spl里面实现了许多迭代器和数据结构对象 ...
- PHP标准库(SPL)- SplDoublyLinkedList类(双向链表)
class SplDoublyLinkedList implements Iterator, Traversable, Countable, ArrayAccess { const IT_MODE_L ...
- 【SPL标准库专题(4)】 Datastructures:SplDoublyLinkedList
简述 双链表是一种重要的线性存储结构,对于双链表中的每个节点,不仅仅存储自己的信息,还要保存前驱和后继节点的地址. 类摘要 SplDoublyLinkedList implements Iterato ...
- PHP SPL(PHP 标准库)
一.什么是SPL? SPL是用于解决典型问题(standard problems)的一组接口与类的集合.(出自:http://php.net/manual/zh/intro.spl.php) SPL, ...
- PHP标准库 (SPL) 笔记
简介 SPL是Standard PHP Library(PHP标准库)的缩写. The Standard PHP Library (SPL) is a collection of interfaces ...
- php SPL学习
数据结构 SplDoublyLinkedList - 该SplDoublyLinkedList类提供了一个双向链表的主要功能 SplStack - 该SplStack类提供了一种使用双向链表实现栈的主 ...
- PHP 标准库 SPL 之数据结构栈(SplStack)简单实践
PHP 5.3.0 版本及以上的堆栈描述可以使用标准库 SPL 中的 SplStack class,SplStack 类继承双链表 ( SplDoublyLinkedList ) 实现栈. 代码: & ...
- paip.php 5.0 5.3 5.4 5.5 -6.0的新特性总结与比较
paip.php 5.0 5.3 5.4 5.5 -6.0的新特性总结与比较 PHP5的新特性 2 · 对象的参照过渡是默认的(default) 3 · 引入访问属性的限制 3 · 引入访问方法的限 ...
- busybox filesystem httpd php-5.5.31 sqlite3 webserver
/******************************************************************** * busybox filesystem httpd php ...
随机推荐
- VS2013常用快捷键
Visual Studio 2013 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.VS 2013 中新增了很多提高 ...
- 解决Android工程里的xml文件自动提示问题
昨天晚上看某培训机构的Android的 视频教程,看到他在写布局的XML文件时,有很方便的自动提示功能.我就在自己的Eclipse里试了一下,可是我的没实现.就到网上查,很多都说:在 Window-& ...
- poj2186--tarjan+缩点
题目大意: 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也 ...
- VMWare 安装 Mac OS X10.10 Yosemite
OS X Yosemite 新功能特性 Mac OS X10.10 GM3|OS X 10.10 Yosemite 正式版下载 如何在虚拟机中安装苹果mac系统图示说明 vm10虚拟机安装Mac OS ...
- spring aop配置出错
Multiple annotations found at this line: - schema_reference.4: Failed to read schema document 'http: ...
- windows phone 水印TextBox
原文来自:wp教程网 原理:在失去焦点和获取焦点的时候,判断Text值是否为空或者是否与水印值相同,然后修改TextBox中的Text和Foreground. 代码如下: /* =========== ...
- ATM跨行取款的清算方式
ATM跨行取款和POS机是类似的,因为没有商户参与,所以不需要收单清算,过程更为简单. 回到文章最开头的例子:你拿着一张工行卡去建行的ATM取了100元,这个跨行业务在CNAPS体系中的过程如下: 你 ...
- 解决eclipse配置Tomcat时找不到server选项(Mac通用)
集成Eclipse和Tomcat时找不到server选项: 按照网上的步骤如下: 在Eclipse中,窗口(window)——首选项(preferences)——服务器(Server)——运行时环境( ...
- 适应手机端的jQuery图片滑块动画DEMO演示
在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- css2基础知识梳理
基础的css知识,只放XMind的截图. css01 css02 css03 css04 css05 css+div布局是前端的基本功,要多多练习.运用标准流.浮动.定位.层级等,做简单的静态页面.一 ...