PHP 数组入门:零基础看懂数组的定义与基础用法

简介: 数组是 PHP 里用来批量存储多个数据的 “容器”,比如想一次性存 10 种熏香名称、5 个香品价格,用数组比定义 10 个、5 个单独变量方便 10 倍。这篇文章用最通俗的方式,带你搞懂 PHP 数组的核心定义方法,新手也能一看就会。

数组是 PHP 里用来批量存储多个数据的 “容器”,比如想一次性存 10 种熏香名称、5 个香品价格,用数组比定义 10 个、5 个单独变量方便 10 倍。这篇文章用最通俗的方式,带你搞懂 PHP 数组的核心定义方法,新手也能一看就会。

参考:https://app-adw41tukuebl.appmiaoda.com/article/125.html

一、先理解:什么是 PHP 数组?

生活例子:

你有一个 “熏香收纳盒”(数组),里面可以分格子放檀香、沉香、艾草香(数组里的元素),每个格子有编号(数组下标),想拿哪个直接按编号取就行。

对应 PHP:数组就是把多个相关数据(字符串、数字、甚至另一个数组)放在一起,用 “下标”(索引)区分每个数据,方便批量管理。

参考:https://app-adw41tukuebl.appmiaoda.com/article/61.html


二、PHP 数组的 3 种核心定义方式(从简单到常用)

1. 最基础:array () 函数定义(兼容所有 PHP 版本)

这是最经典的写法,新手先掌握这种,不管是 PHP5 还是 PHP8 都能用。

// 示例1:索引数组(下标默认从0开始,按顺序编号)
// 存多种熏香名称
$xiang_list = array('檀香', '沉香', '艾草香', '合香');
// 取第1个元素(下标0):输出“檀香”
echo $xiang_list[0];
// 取第3个元素(下标2):输出“艾草香”
echo $xiang_list[2];
// 示例2:关联数组(自定义下标,比如用“名称-价格”对应)
// 存熏香价格,下标是香品名称,值是价格
$xiang_price = array(
    '檀香' => 99,
    '沉香' => 199,
    '艾草香' => 29
);
// 取“沉香”的价格:输出199
echo $xiang_price['沉香'];


2. 最常用:短数组语法([])(PHP5.4 + 推荐)

PHP5.4 之后简化了写法,把array()换成[],更简洁,现在开发基本都用这个。

// 索引数组(和上面array()效果完全一样)
$xiang_list = ['檀香', '沉香', '艾草香', '合香'];
echo $xiang_list[1]; // 输出“沉香”
// 关联数组(自定义下标)
$xiang_info = [
    '名称' => '线香',
    '材质' => '天然檀香木',
    '价格' => 89,
    '库存' => 1000
];
// 取“材质”:输出“天然檀香木”
echo $xiang_info['材质'];


3. 特殊:动态添加元素(先定义空数组,再填内容)

适合不确定要存多少数据的场景(比如从数据库批量读取香品信息)

// 第一步:定义空数组
$xiang_collection = [];
// 第二步:动态添加元素(索引数组)
$xiang_collection[] = '藏香'; // 下标自动变成0
$xiang_collection[] = '桂花熏香'; // 下标自动变成1
// 第二步:动态添加元素(关联数组)
$xiang_collection['茉莉香'] = 39; // 自定义下标“茉莉香”,值39
// 输出数组所有内容:方便调试(新手必用)
var_dump($xiang_collection);
// 输出结果:
// array(3) { [0]=> string(6) "藏香" [1]=> string(12) "桂花熏香" ["茉莉香"]=> int(39) }


三、数组的 2 大核心类型(必分清)

定义数组时,主要分两种类型,用法场景不同:

类型 特点 适用场景
索引数组 下标是数字(默认 0 开始) 存 “按顺序排列” 的数据(比如香品列表)
关联数组 下标是自定义字符串 存 “键值对应” 的数据(比如香品属性:名称、价格、库存)

小拓展:多维数组(数组里套数组)

如果想存更复杂的信息(比如每个香品的完整信息),可以用 “数组里套数组”:

// 二维数组:存多个香品的完整信息
$xiang_all = [
    [
        '名称' => '檀香线香',
        '价格' => 99,
        '规格' => '100支/盒'
    ],
    [
        '名称' => '艾草盘香',
        '价格' => 29,
        '规格' => '40盘/盒'
    ]
];
// 取第二个香品的规格:输出“40盘/盒”
echo $xiang_all[1]['规格'];


四、新手避坑指南

  1. 下标从 0 开始!比如['A','B','C'],A 是 0,B 是 1,C 是 2,别记错;
  2. 关联数组的下标(键名)要用引号包起来!比如['沉香'=>199],别写成[沉香=>199](没引号会被当成常量,容易报错);
  3. 数组末尾的逗号可以留!比如['檀香', '沉香',],PHP 会自动忽略,不影响运行,方便后续添加元素;
  4. 调试数组用var_dump()print_r()!直接echo数组会输出 “Array”,看不到具体内容,用这两个函数能清晰看到数组里的所有元素。


五、实用小例子(贴近开发场景)

// 场景:判断数组里是否包含某类熏香
$xiang_list = ['檀香', '沉香', '艾草香'];
// in_array():判断元素是否在数组里
if (in_array('沉香', $xiang_list)) {
    echo '数组里有沉香,库存充足';
} else {
    echo '暂时没有沉香,可预约';
}
// 输出:数组里有沉香,库存充足

总结

  1. PHP 数组的核心是 “批量存数据”,定义主要用[](推荐)或array(),前者更简洁;
  2. 索引数组下标是数字(默认 0 开始),关联数组下标是自定义字符串,按需选择;
  3. 新手调试数组优先用var_dump(),能直观看到数组的所有元素和类型;
  4. 动态添加元素用$数组名[] = 内容(索引)或$数组名['键名'] = 内容(关联)。

这些定义方法覆盖了 90% 的日常开发场景,比如存香品列表、用户提交的多组数据、后台配置信息,多写 2 个例子(比如存 5 个香道教程名称),很快就能熟练。

参考:https://app-adw41tukuebl.appmiaoda.com/article/3.html

目录
相关文章
|
5月前
|
数据采集 人工智能 监控
猫行为识别检测数据集(近2000张图片已标注)| YOLO训练数据集 AI视觉检测
本数据集含近2000张高质量猫行为图像,标注4类静态姿态(趴卧、坐姿、睡眠、站立),采用YOLO标准格式,覆盖多场景、多光照与多姿态,适配YOLOv5/v8等模型,适用于智能宠物监控、健康分析及AI视觉研究。
|
3月前
|
人工智能 测试技术 数据库
MCP协议的Token税争议,暴露了更大的问题
Perplexity弃用MCP,直指其“Token税”痛点:工具调用前需大模型反复推理,推高成本与延迟。本质是MCP重“连接”轻“执行”。行业正转向确定性指令(如AREE、JBoltAI融合方案),分层优化——决策用LLM,执行走直达,大幅降本增效。(239字)
258 4
|
10月前
|
网络协议 应用服务中间件 网络安全
阿里云免费版SSL证书申请及部署按照流程,白嫖阿里云20张SSL证书
阿里云提供免费SSL证书,品牌为DigiCert,单域名证书每账号可申领20张,有效期3个月。通过数字证书控制台申请,支持DNS验证,审核通过后可下载多种格式证书,适用于Nginx、Apache等服务器,轻松实现网站HTTPS加密。
1291 9
|
5月前
|
传感器 人工智能 弹性计算
OpenClaw火爆全网!一分钟看懂它是什么?怎么部署?小白也能玩转AI神器!
2026年初爆火的OpenClaw(“小龙虾AI”)是一款本地优先、开源的AI智能体框架,不止聊天,更能自动执行文件整理、浏览器操作、系统命令、IM协同等真实任务。支持阿里云一键部署,小白两步即可上手,助力办公提效、生活管理与学习自动化。
723 3
|
3月前
|
存储 人工智能 运维
深度回顾 | 阿里云携手 Elastic 定义 Agent 时代搜索新范式,解锁 Search AI 核心生产力
阿里云Elasticsearch升级为Agent Native搜索底座,推出Agentic Search、知识记忆湖、FalconSeek引擎及Hybrid Retrieval 2.0,实现面向AI智能体的毫秒级上下文检索,支持千亿级数据降本40%-70%,助力企业构建稳定、智能、低成本的下一代AI搜索基础设施。
464 0
|
10月前
|
机器学习/深度学习 人工智能 JSON
AI编程时代,对应的软件需求文档(SRS、SRD、PRD)要怎么写
对于AI编程来说,需要使用全新的面向提示词的需求文档来和AI+人类沟通,构建共同的单一事实来源文档知识库是重中之重。
1657 7
|
前端开发
SpringBoot2.3.1集成Knife4j接口文档
SpringBoot2.3.1集成Knife4j接口文档
758 57
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
1397 16
|
测试技术 数据安全/隐私保护 Python
刷视频脚本,抖音快手小红书,自动看广告刷视频【python】
这个代码示例展示了如何使用Selenium和PyAutoGUI模拟视频观看行为,包括登录、观看视频
|
机器学习/深度学习 人工智能
Diffusion-DPO:一种基于直接偏好优化的扩散模型对齐新方法
本文介绍了一种名为 Diffusion-DPO 的创新方法,该方法基于直接偏好优化(DPO)原理,简化了扩散模型与人类偏好的对齐过程。相比传统的基于人类反馈的强化学习(RLHF)方法,Diffusion-DPO 避免了显式奖励模型的训练,通过数学近似简化实现流程,并在处理开放词汇表场景时展现出更强的能力。实验结果表明,该方法在 Stable Diffusion 1.5 和 SDXL-1.0 等主流模型上显著提升了生成图像的质量和可控性,为未来扩散模型的发展提供了新的思路。
1570 14
Diffusion-DPO:一种基于直接偏好优化的扩散模型对齐新方法

热门文章

最新文章