php数组数据结构 php 数组

PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例队列这种数据结构更简单,就像我们生活中排队一样,它的特性是先进先出(FIFO) 。
PHP
SPL中SplQueue类就是实现队列操作,和栈一样,它也可以继承双链表(SplDoublyLinkedList)轻松实现 。
SplQueue类摘要如下:
SplQueue简单使用如下:
复制代码
代码如下:
$queue
=
new
SplQueue();
/**
*
可见队列和双链表的区别就是IteratorMode改变了而已,栈的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数组包含数字字符串吗本文小编为大家详细介绍“php数组的元素可不可以是数字”,内容详细,步骤清晰,细节处理妥当 , 希望这篇“php数组的元素可不可以是数字”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入 , 一起来学习新知识吧 。
php数组的元素可以是数字 。因为PHP是弱数据类型的编程语言,所以PHP中的数组可以存储任意多个、任意类型的数据,即数组元素的类型没有限制,可以是数字(整数和浮点数)、字符串、布尔值、数组、Object对象等类型 。
?
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php数组的元素可以是数字 。
数组是 PHP 中最重要的数据类型之一,在 PHP 中的应用非常广泛 。因为 PHP 是弱数据类型的编程语言,所以 PHP 中的数组变量可以存储任意多个、任意类型的数据 , 并且可以实现其他强数据类型中的堆、栈、队列等数据结构的功能 。
简单来说,PHP数组元素的类型没有限制,可以是数字、字符串、布尔值、数组、Object对象等类型 。
示例1:索引数组
?php
header("Content-type:text/html;charset=utf-8");
$arr= array(1,2,"3",4,0.5,"hello",TRUE,3.14);
var_dump($arr);
?
?
说明:索引数组的下标(键名)由数字组成,默认从 0 开始,每个数字对应一个数组元素在数组中的位置,不需要特别指定 , PHP 会自动为索引数组的键名赋一个整数值,然后从这个值开始自动递增 。

推荐阅读