php中的数据结构 php中的数据结构有哪些

php 数据库中输出的数据结构从数据库读出来的原始数据是资源 。还不是数组 。
$result = mysql_Query("select * from tb_admin where parid=1")
while($list = mysql_fetch_array($result)){
print_r($list);//这里输出的数组是将原数组拆开来输出 。
}
原始的数据结构应是:
array(
[0]=array(
[id]=01
[classname]=我是
[url]=baidu.com
)
[1]=array(
//这里同上,不两累赘
)
)
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例队列这种数据结构更简单php中的数据结构,就像php中的数据结构我们生活中排队一样php中的数据结构,它php中的数据结构的特性是先进先出(FIFO) 。
PHP
SPL中SplQueue类就是实现队列操作,和栈一样 , 它也可以继承双链表(SplDoublyLinkedList)轻松实现 。
SplQueue类摘要如下:
SplQueue简单使用如下:
复制代码
代码如下:
$queue
=
new
SplQueue();
/**
*
可见队列和双链表的区别就是IteratorMode改变php中的数据结构了而已,栈的IteratorMode只能为:
*
(1)SplDoublyLinkedList::IT_MODE_FIFO
|
SplDoublyLinkedList::IT_MODE_KEEP
(默认值,迭代后数据保存)
*
(2)SplDoublyLinkedList::IT_MODE_FIFO
|
SplDoublyLinkedList::IT_MODE_DELETE
(迭代后数据删除)
*/
$queue-setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO
|
SplDoublyLinkedList::IT_MODE_DELETE);
//SplQueue::enqueue()其实就是
SplDoublyLinkedList::push()
$queue-enqueue('a');
$queue-enqueue('b');
$queue-enqueue('c');
//SplQueue::dequeue()其实就是
SplDoublyLinkedList::shift()
print_r($queue-dequeue());
foreach($queue
as
$item)
{
echo
$item
.
PHP_EOL;
}
print_r($queue);
而优先队列SplPriorityQueue是基于堆(后文介绍)实现的 。
SplPriorityQueue的类摘要如下:
SplPriorityQueue简单使用:
$pq
=
new
SplPriorityQueue();
$pq-insert('a',
10);
$pq-insert('b',
1);
$pq-insert('c',
8);
echo
$pq-count()
.PHP_EOL;
//3
echo
$pq-current()
.
PHP_EOL;
//a
/**
*
设置元素出队模式
*
SplPriorityQueue::EXTR_DATA
仅提取值
*
SplPriorityQueue::EXTR_PRIORITY
仅提取优先级
*
SplPriorityQueue::EXTR_BOTH
提取数组包含值和优先级
*/
$pq-setExtractFlags(SplPriorityQueue::EXTR_DATA);
while($pq-valid())
{
print_r($pq-current());
//a
c
b
$pq-next();
}
PHP 数据结构 算法 三元组 Triplet复制代码
代码如下:
?php
/**
*
三元组
Triplet
*
*/
class
Triplet
{
private
$_data
=
null;
//
初始化三元组
public
function
init($val1,$val2,$val3)
{
$this-_data[0]
=
$val1;
$this-_data[1]
=
$val2;
$this-_data[2]
=
$val3;
return
true;
}
//
销毁三元组
public
function
destroy()
{
unset($this-_data);
return
true;
【php中的数据结构 php中的数据结构有哪些】}
//
返回第$key的值
public
function
get($key)
{
if($key
1
||
$key
3)
return
false;
return
$this-_data[$key
-
1];
}
//
设置第$key元的值为$val
public
function

推荐阅读