
正文
php数据结构分类 php数组的数据结构
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php数组包含数字字符串吗
本文小编为大家详细介绍“php数组的元素可不可以是数字”,内容详细,步骤清晰,细节处理妥当,希望这篇“php数组的元素可不可以是数字”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
php数组的元素可以是数字。因为PHP是弱数据类型的编程语言,所以PHP中的数组可以存储任意多个、任意类型的数据,即数组元素的类型没有限制,可以是数字(整数和浮点数)、字符串、布尔值、数组、Object对象等类型。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php数组的元素可以是数字。
数组是 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 会自动为索引数组的键名赋一个整数值,然后从这个值开始自动递增。
示例2:关联数组
?php
header("Content-type:text/html;charset=utf-8");
$arr=array(1=1,"a"=3.5,2=2,"b"=0,"c"="blue");
var_dump($arr);
?

说明:关联数组的下标(键名)由数值和字符串混合的形式组成,如果一个数组中有一个键名不是数字,那么这个数组就是关联数组。
php中的数字
在php中,数字可分为integer(整型)和float(浮点型)
类型 功能
integer(整型) 整型包含所有的整数,可以是正数也可以是负数
float(浮点型) 浮点型也是用来表示数字的,与整型不同除php数据结构分类了可以表示整数外它还可以用来表示小数和指数
1)整型
在 PHP 中,整型变量称为 integer 或 int 类型,用来表示一个整数,整型的规则如下所示:
整型必须至少有一个数字(0~9);
整型不能包含逗号或空格;
整型不能包含小数点;
整型可以是正数或负数。
整型的取值范围必须介于 -2E31 到 2E31 之间,可以用三种格式来表示,即十进制、十六进制(以 0x 为前缀)和八进制(以 0 为前缀)。
?php
$x = 5985; // 定义一个整型数据类型的变量
var_dump($x); // 输出此变量
$x = -345;
var_dump($x);
$x = 0x8C; //十六进制数字
var_dump($x);
$x = 047; //八进制数字
var_dump($x);
?

注意,在 PHP7 版本中,含有十六进制字符的字符串不再被视为数字,而是当作普通的字符串。
2)浮点型
浮点型在 PHP 中被称为 float 类型,也可称为实数,可以用来存储整数和小数,有效的取值范围是 1.8E-308 到 1.8E+308 之间。浮点数的精确度比整型数据类型要高。
?php
$num1 = 10.365;
$num2 = 2.4e3;
$num3 = 8E-5;
var_dump($num1, $num2, $num3);
?

读到这里,这篇“php数组的元素可不可以是数字”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
相关问答
Q1: PHP中数据类型 array和object有什么区别?
具体的概念区别php数据结构分类你可以查看php帮助手册,我说下个人的理解:
通常来说,array是数组,而object是对象,两者有很大的区别,最主要的区别我觉得对象一般要定义行为,其目的是为php数据结构分类了封装,而数组主要定义数据结构。
但这两种在php语言里区别比较模糊,因为php是支持范数据类型,所以array可以是object,反之亦然。
Q2: 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数据结构分类的信息别忘了在本站进行查找喔。








