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 ...
随机推荐
- 修复DapperExtension做Insert对象主键为Guid时不能赋值的问题
最新的dapperExtension有个bug,就是当做Insert操作的时候,实体的主键类型为GUID的时候,会自动生产一个新的GUID替换原来的GUID,使得使用者在Insert的时候不能在外部指 ...
- Composer根据Name显示与隐藏
//主要设置 模型的显示与隐藏 private void TransmissionByData_AxSendSelectionChange(string domName, bool isVisible ...
- java 中包的概念,常量,静态与继承
一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包 ...
- linux 下 systemd-udevd 服务解析
最近在看linux下重定向的时候看到 的这个系统的服务,所以记下来备忘. 描述:systemd-udevd是监听内核发出的设备事件,并根据udev规则处理每个事件. 选项: --daemon 脱离控制 ...
- var a=function()跟function a()的区别
//代码一: a(); //执行这个会报错 var a = function(index){ alert(index); } a(); //执行这个不会报错 //代码二: a(); //执行这个不会报 ...
- Python开发【第一篇】:初识Python
初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...
- 利用CSS3D效果制作简易旋转木马效果
最近看一下css3d的一些特性,想着也实验学习一下,制作个小demo之类的.就练习了一下.开发一个粗糙的选择木马效果,如图 其实就是找到角度和位置,计算每根柱子的旋转角度摆放到3d空间的置顶位置即可. ...
- iOS笔记之NSSet
一.简介 NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合: NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的, ...
- iOS UITabBarController的使用
UITabBarController 和 UINavigationController 几乎是iOS APP的标配. UITabBarController分栏(标签栏)控制器, 和UINavigati ...
- [Android]官网《monkeyrunner》中文翻译
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5050768.html 翻译自 Android Develope ...