
PHP:数组
发布日期:2021-05-07 08:58:27
浏览次数:37
分类:精选文章
本文共 2321 字,大约阅读时间需要 7 分钟。
PHP数组详解
PHP中的数组是最常用的数据结构之一,主要分为索引数组和关联数组两大类。理解并灵活使用这些数组类型,对于开发工作具有重要意义。本文将从定义、操作、函数扩展等方面详细介绍PHP数组的使用方法。
PHP数组的分类
1. 索引数组
索引数组的键名为整数,且默认情况下键名从0开始依次递增。这种数组的特点是键名连续且无需显式声明。例如:
$sports = array('football', 'swimming'); // 隐含索引:0 => 'football', 1 => 'swimming'$sports = array( 2 => 'football', 4 => 'swimming'); // 显式指定索引
需要注意的是,索引数组的键名并不一定是连续的,省略键名时默认从0开始。
2. 关联数组
关联数组的键名为字符串,并且键名和值之间通常存在特定的业务逻辑关系。例如:
$info = array( 'id' => 1, 'name' => 'Tom');
这种数组的键名可以自定义,非常适合存储结构化数据。
PHP数组的定义与赋值
1. 定义方式
array()
语言结构:$fruits = array('apple', 'grape', 'pear'); // 隐含索引数组$sports = array( 2 => 'football', 4 => 'swimming'); // 显式定义索引数组$info = array( 'id' => 1, 'name' => 'Tom'); // 关联数组定义$mixed = array( 2, 'str', 'id' => 5, true, array(1, 2)); // 混合数组
- **短数组定义法**: ```php $weather = ['晴天', '雨天']; // 索引数组 $user = ['id' => 1, 'name' => 'Tom']; // 关联数组
2. 赋值方式
- 通过数组操作符赋值:
$arr[] = 123; // 索引数组,实际为 $arr[0] = 123$arr['name'] = 'Tom'; // 关联数组赋值
- 注: 建议在赋值时尽量使用显式索引,避免因索引不连续导致的错误。
PHP数组的操作与函数
1. 遍历数组
使用 foreach
语句遍历数组元素:
$info = [ 'id' => 1, 'name' => 'Tom', 'age' => 18];foreach ($info as $key => $value) { echo "$key - $value";}
foreach
的第一个参数是数组,后面的变量可以选择包含键名或仅包含值。
2. 删除数组元素
使用 unset()
函数删除数组元素:
$info = [1, 2, 3];unset($info[1]); // 删除单个元素unset($info); // 删除整个数组
PHP数组的函数扩展
1. 指针操作函数
这些函数通过数组的指针来逐个访问元素:
key()
: 获取当前指针所在的键名current()
: 获取当前指针所在的值prev()
: 移动指针到前一位next()
: 移动指针到下一位end()
: 移动指针到数组末尾reset()
: 将指针移动到数组开头
2. 数组元素操作函数
这些函数对数组中的元素进行增删改查:
array_pop()
: 从数组末尾移除一个元素array_push()
: 在数组末尾添加一个或多个元素array_unshift()
: 在数组开头添加一个或多个元素array_shift()
: 移除数组开头的第一个元素array_unique()
: 移除数组中的重复值array_slice()
: 截取数组中的一部分array_splice()
: 替换数组中的一部分元素
3. 排序函数
这些函数对数组进行排序:
sort()
: 根据键名从小到大排序rsort()
: 根据键名从大到小排序asort()
: 根据键名排序并保留键值关系arsort()
: 根据键名逆序排序并保留键值关系krsort()
: 根据键名逆序排序shuffle()
: 打乱数组顺序array_multisort()
: 对多维数组进行排序
4. 检索函数
这些函数用于检索数组中的元素:
in_array()
: 检查指定值是否存在于数组中array_search()
: 在数组中搜索指定值并返回对应的键名array_key_exists()
: 检查指定键名是否存在于数组中
PHP数组的其他功能函数
1. 数量统计函数
count()
: 统计数组元素个数array_rand()
: 从数组中随机取出指定数量的元素
2. 键名和值的提取函数
array_keys()
: 提取数组中的所有键名array_values()
: 提取数组中的所有值array_map()
: 对数组中的每个元素应用回调函数
3. 数组合并与计算函数
array_merge()
: 合并一个或多个数组array_sum()
: 计算数组中所有元素的和array_diff()
: 计算两个数组的差异array_intersect()
: 计算两个数组的交集
PHP数组的实际应用示例
通过以上示例,可以清晰地看到PHP数组操作的实际效果。理解这些基础操作是掌握PHP编程的重要一步。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月18日 11时10分44秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
斐波那契数列两种算法的时间复杂度
2019-03-09
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2019-03-09
C++清空队列(queue)方法
2019-03-09
【换行符】什么时候用cin.get()吃掉输入流中的换行符
2019-03-09
【二叉树】已知后序与中序求先序
2019-03-09
解决Nginx 404 not found问题
2019-03-09
广东外语外贸大学第三届网络安全大赛Writeup
2019-03-09
hadoop 分布式文件系统的计算和高可用
2019-03-09
【Linux】VMware Workstation 不可恢复错误: (vcpu-0)
2019-03-09
VS中 fatal error LNK1123: 转换到 COFF 期间失败 的解决方法
2019-03-09
ant design pro v5去掉右边content区域的水印
2019-03-09
JavaScript——使用iterator遍历迭代map,set集合元素
2019-03-09
Course Schedule II
2019-03-10
C#中文转换成拼音
2019-03-10
C++错误笔记
2019-03-10
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2019-03-10
qt中转到槽后如何取消信号与槽关联
2019-03-10
qt问题记录-spin box与double spin box
2019-03-10