<?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的更多相关文章

  1. SPL學習之SplDoublyLinkedList

    Standard PHP Library(SPL)是官方提供的标准库,从php5.0.0开始已经默认实现在php中,我们可以类比它为ruby中的gem安装的包.spl里面实现了许多迭代器和数据结构对象 ...

  2. PHP标准库(SPL)- SplDoublyLinkedList类(双向链表)

    class SplDoublyLinkedList implements Iterator, Traversable, Countable, ArrayAccess { const IT_MODE_L ...

  3. 【SPL标准库专题(4)】 Datastructures:SplDoublyLinkedList

    简述 双链表是一种重要的线性存储结构,对于双链表中的每个节点,不仅仅存储自己的信息,还要保存前驱和后继节点的地址. 类摘要 SplDoublyLinkedList implements Iterato ...

  4. PHP SPL(PHP 标准库)

    一.什么是SPL? SPL是用于解决典型问题(standard problems)的一组接口与类的集合.(出自:http://php.net/manual/zh/intro.spl.php) SPL, ...

  5. PHP标准库 (SPL) 笔记

    简介 SPL是Standard PHP Library(PHP标准库)的缩写. The Standard PHP Library (SPL) is a collection of interfaces ...

  6. php SPL学习

    数据结构 SplDoublyLinkedList - 该SplDoublyLinkedList类提供了一个双向链表的主要功能 SplStack - 该SplStack类提供了一种使用双向链表实现栈的主 ...

  7. PHP 标准库 SPL 之数据结构栈(SplStack)简单实践

    PHP 5.3.0 版本及以上的堆栈描述可以使用标准库 SPL 中的 SplStack class,SplStack 类继承双链表 ( SplDoublyLinkedList ) 实现栈. 代码: & ...

  8. 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 · 引入访问方法的限 ...

  9. busybox filesystem httpd php-5.5.31 sqlite3 webserver

    /******************************************************************** * busybox filesystem httpd php ...

随机推荐

  1. Premiere Pro & After Effects插件开发调试方法

    在给Adobe Premiere Pro(PR)和Adobe After Effects(AE)插件开发时,对于实时调试插件有着很强的需求.除了业务需求外,单步调试插件还能够摸清楚Plugin和Hos ...

  2. C#获取图片的后缀名

    最近在学习过程中遇到一个问题,就是如何获取图片的格式,对于一张知道全路径的照片,如果其路径包含后缀名的话,要取得后缀名,只需要一行代码即可: var ext = System.IO.Path.GetE ...

  3. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...

  4. MySQL的SSL加密连接与性能开销

    本文转载自:http://www.innomysql.net/article/23959.html(只作转载, 不代表本站和博主同意文中观点或证实文中信息) Contents [hide] 1 前言 ...

  5. 使用MyEclipse中servlet对SQL Server 2008的CRUD

    1.在MyEclipse下建立Web Project,找到根目录建立Database文件夹和Doc文件夹,Database用于保存数据库信息,Doc用于保存数据库表信息. 2.打开SQL Server ...

  6. Mvc视图的那些事

    最近参与项目底层重写,在代码组织方式,类型使用上已经与之前有了很大的不同,这里总结一下视图的使用. 一.视图中命名空间的使用 视图命名空间的使用方式大致有三种:一,完全限定名,如 @System.Da ...

  7. 从FineReport看开放式引擎API

    对于一款软件或产品,尤其是一些企业级应用的IT软件,是不可能满足所有需求的.尤其是针对业务化的产品需求,某些个性化的需求就要进行二次开发.二次开发需要API接口,无论是什么样的开发,开发人员都需要对开 ...

  8. 你真的了解UITabBarController吗?

    一:首先查看一下关于UITabBarController的定义 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITabBarController : UIViewCo ...

  9. Android编码规范04

    private final String MESSAGE_WARN = "您输入的密码有误,请重新输入!"; private final String CLASS_ONE = &q ...

  10. 基于Server-Sent Event的简单在线聊天室

    Web即时通信 所谓Web即时通信,就是说我们可以通过一种机制在网页上立即通知用户一件事情的发生,是不需要用户刷新网页的.Web即时通信的用途有很多,比如实时聊天,即时推送等.如当我们在登陆浏览知乎时 ...