0Pricing
PHP Academy · 课时

字符串的拆分与连接

使用 explode、implode 和 chunk_split 在字符串与数组之间进行转换。

字符串的拆分与连接 是 CoddyKit 上的免费 PHP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 PHP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 PHP Academy 课程共包含 4 节课。

explode() 与 implode()

两个最重要的字符串与数组转换函数:

  • explode($delimiter, $string) — 将字符串拆分为数组
  • implode($glue, $array) — 将数组连接为字符串

explode() 基础

根据分隔符拆分字符串:

<?php
$csv = 'Alice,Bob,Carol,Dave';

$names = explode(',', $csv);
print_r($names);
// ['Alice', 'Bob', 'Carol', 'Dave']

// Limit the number of parts
$parts = explode(',', $csv, 2);
print_r($parts);
// ['Alice', 'Bob,Carol,Dave']

implode() 与 join()

将字符串数组连接为一个字符串:

<?php
$tags = ['php', 'mysql', 'linux'];

echo implode(', ', $tags);    // php, mysql, linux
echo implode(' | ', $tags);   // php | mysql | linux
echo implode('', $tags);      // phpmysqllinux

// join() is an alias for implode()
echo join('-', $tags);  // php-mysql-linux

解析 CSV 行

使用 str_getcsv() 解析 CSV 行,包括带引号的字段:

<?php
$line = 'Alice,"New York, NY",30';

$fields = str_getcsv($line);
print_r($fields);
// ['Alice', 'New York, NY', '30']

preg_split() — 按模式拆分

根据正则表达式模式拆分字符串,以处理复杂分隔符:

<?php
$text = 'one1two2three3four';

// Split on any digit
$parts = preg_split('/[0-9]/', $text);
print_r($parts);
// ['one', 'two', 'three', 'four']

// Split on whitespace (one or more)
$words = preg_split('/\s+/', '  hello   world  ');
print_r(array_filter($words)); // ['hello', 'world']

str_split()

str_split() 会将字符串拆分为指定大小的分块数组:

<?php
$str = 'Hello';

// Split into individual characters
$chars = str_split($str);
print_r($chars); // ['H','e','l','l','o']

// Split into chunks of 2
$chunks = str_split('ABCDEF', 2);
print_r($chunks); // ['AB','CD','EF']

构建查询字符串

使用 http_build_query() 从数组组装 URL 查询字符串:

<?php
$params = [
    'search' => 'php tutorial',
    'page'   => 2,
    'sort'   => 'date',
];

$query = http_build_query($params);
echo $query;
// search=php+tutorial&page=2&sort=date

echo '/posts?' . $query;

解析查询字符串

使用 parse_str() 将 URL 查询字符串解析为数组:

<?php
$qs = 'name=Alice&age=30&city=London';

parse_str($qs, $params);
print_r($params);
// ['name'=>'Alice', 'age'=>'30', 'city'=>'London']

// Or use parse_url + parse_str for full URLs
$url    = 'https://example.com/search?q=php&page=1';
$query  = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
echo $params['q']; // php

使用 implode 构建 SQL IN 子句

implode 的一个经典用法——从数组构建 SQL IN 子句:

<?php
$ids = [1, 2, 3, 4, 5];
$placeholders = implode(',', array_fill(0, count($ids), '?'));

$sql = "SELECT * FROM users WHERE id IN ($placeholders)";
echo $sql;
// SELECT * FROM users WHERE id IN (?,?,?,?,?)
// Use prepared statements with these placeholders!

字符串转单词数组

将句子拆分为单词,并逐个处理:

<?php
$sentence = 'The quick brown fox';
$words = explode(' ', $sentence);

$reversed = array_reverse($words);
echo implode(' ', $reversed);
// fox brown quick The

$wordCount = count($words);
echo "Word count: $wordCount"; // 4

使用数组展开调用 sprintf

将 implode 与 sprintf 结合起来,实现灵活的格式化:

<?php
$cols   = ['name', 'email', 'age'];
$values = ['Alice', 'alice@test.com', 30];

$colList = implode(', ', $cols);
$valPlaceholders = implode(', ', array_fill(0, count($values), '?'));

$sql = "INSERT INTO users ($colList) VALUES ($valPlaceholders)";
echo $sql;
// INSERT INTO users (name, email, age) VALUES (?, ?, ?)

快速检查

explode(',', 'a,b,c', 2) 会返回什么?

回顾:拆分与连接

关键函数:

  • explode($delim, $str) — 将字符串转换为数组
  • implode($glue, $arr) — 将数组转换为字符串
  • str_split($str, $len) — 拆分为固定大小的分块
  • preg_split($pattern, $str) — 按正则表达式拆分
  • str_getcsv() — 解析带引号字段的 CSV
  • http_build_query() — 将数组转换为 URL 查询字符串

常见问题解答

「字符串的拆分与连接」课时是免费的吗?

是的 — 「字符串的拆分与连接」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 PHP Academy 课程的其余内容,请升级到 CoddyKit PRO。 PHP Academy 课程共包含 4 节课。

「字符串的拆分与连接」这节课中我会学到什么?

使用 explode、implode 和 chunk_split 在字符串与数组之间进行转换。 你通过在浏览器中直接运行的动手代码来练习 PHP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 PHP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 PHP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「字符串的拆分与连接」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 PHP Academy 课中编写并运行代码吗?

能。每节 PHP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 字符串基础与拼接
  2. 字符串搜索与替换
  3. 子字符串与填充函数
  4. 字符串的拆分与连接
← 返回 PHP Academy