CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
PHP 进阶/课时/语法与数据结构
RawBlame
课时目录12 节

PHP 进阶

  1. 01PHP 进阶地图
  2. 02语法与数据结构
  3. 03Web 与超全局变量
  4. 04安全基础
  5. 05OOP 深入
  6. 06现代 PHP 工程
  7. 07数据库与 ORM
  8. 08性能与运维
  9. 09测试与静态分析
  10. 10框架生态
  11. 11集成与 CLI
  12. 12综合练习

语法与数据结构

echo、数组、switch/match、JSON/CSV/XML。

30 分钟

语法与数据结构

在 php-essentials 变量与控制流基础上,本课强化 数组操作、match 表达式与常见数据格式(JSON / CSV / XML)。路径见 /roadmaps/php。

学习目标

  • 熟练使用关联数组与数组高阶函数
  • 用 match 替代复杂 switch
  • 读写 JSON、CSV 与简单 XML

数组与 match

<?php
declare(strict_types=1);

$lesson = ['slug' => 'pha-syntax', 'order' => 2, 'tags' => ['web', 'data']];

$tags = array_map('strtoupper', $lesson['tags']);
$filtered = array_filter($lesson, fn($v) => is_string($v));

$level = match ($lesson['order']) {
    1 => 'intro',
    2, 3 => 'core',
    default => 'advanced',
};

match 是表达式,必须覆盖所有分支或提供 default,比 switch 更严格。

JSON

$data = ['track' => 'php-advanced-essentials', 'lessons' => 12];
$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);

$parsed = json_decode($json, true, 512, JSON_THROW_ON_ERROR);
assert($parsed['lessons'] === 12);

API 开发中 JSON 是最常见的交换格式;始终用 JSON_THROW_ON_ERROR 捕获解析错误。

CSV

$rows = [['slug', 'title'], ['pha-syntax', '语法与数据结构']];
$fp = fopen('lessons.csv', 'w');
foreach ($rows as $row) {
    fputcsv($fp, $row);
}
fclose($fp);

简单 XML

$xml = new SimpleXMLElement('<track name="php-advanced-essentials"/>');
$xml->addChild('lesson', 'pha-syntax');
echo $xml->asXML();

配置文件与旧系统集成时常遇到 XML;新项目优先 JSON。

练习

  • 用 array_column 从课时数组提取所有 slug
  • 把 3 条课时记录写入 CSV 再读回
  • 用 match 根据 HTTP 方法返回不同状态码

小结

数组 + match + 标准格式 = PHP 数据处理三件套。 下一课深入 Web 请求与超全局变量。

加载本节练习…
← 上一课
PHP 进阶地图
下一课 →Web 与超全局变量