文字列の分割と結合
explode、implode、chunk_splitを使って文字列と配列を変換します
「文字列の分割と結合」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全4レッスンが含まれています。
explode()とimplode()
文字列と配列を相互変換する、最も重要な2つの関数です:
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()
文字列の配列を1つの文字列に連結します:
<?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-linuxCSV行の解析
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']; // phpSQLのIN句でのimplode
implodeの典型的な用途の1つは、配列から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クエリ文字列に変換
よくある質問
「文字列の分割と結合」レッスンは無料ですか?
はい。「文字列の分割と結合」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全4レッスンが含まれています。
「文字列の分割と結合」で何を学びますか?
explode、implode、chunk_splitを使って文字列と配列を変換します ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
PHP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「文字列の分割と結合」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPHP Academyレッスンでコードを書いて実行できますか?
はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 文字列の基礎と連結
- 文字列の検索と置換
- 部分文字列とパディング関数
- 文字列の分割と結合