PHPで文字列をスペースで区切って配列に変換するテクニック
作成日:2025.02.09
PHPでキーワード検索を実装する際などに、文字列をスペースで区切って配列に変換する方法を解説します。全角スペースの変換や空要素の削除についても詳しく説明します。
error この記事は最終更新日から1年以上が経過しています。
PHPでキーワード検索の処理を実装する際などに、ユーザーが入力したキーワードの値をスペースで区切って配列に入れて処理したい、みたいな時のメモ。
// ユーザーの入力したキーワード文字列(事前にXSS対策などをしておくこと)
$query = 'PHP JavaScript CSS';
// 全角スペースを半角スペースに変換
$query = mb_convert_kana($query, 's');
// スペースで区切って配列に入れる
$keywords = explode(' ', $query);
// ユーザーの入力したキーワードにスペースが連続している場合は空要素ができるので削除
$keywords = array_filter($keywords, 'strlen');
上記のコードを実行すると、$keywords には以下のような配列が入る。
array(3) {
[0]=>
string(3) "PHP"
[1]=>
string(10) "JavaScript"
[2]=>
string(3) "CSS"
}
- mb_convert_kana
- 全角かなと半角かなを変換する関数。第二引数に
's'を指定すると、全角スペースを半角スペースに変換する。 - explode
- 文字列を指定した区切り文字で分割して配列に入れる関数。第一引数に区切り文字、第二引数に分割する文字列を指定する。
- array_filter
- 配列の要素をコールバック関数でフィルタリングする関数。第一引数に配列、第二引数にコールバック関数を指定する。ここでは
strlen関数を指定しているので、空文字列以外の要素だけを残す。 - strlen
- 文字列の長さを返す関数。ここでは
array_filterで使うためにコールバック関数として指定している。
奈良市を拠点に、27年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。
これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。
【制作会社・企業様向けサポート】
Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。
ぜひ、プロフィールやWeb制作会社様向け業務案内、一般企業様向け業務案内もご覧くださいね。
mPDFでPDFが開けない・出力できないときの確認方法:BOM・空白・警告を切り分ける
2026.11.07
mPDFで出力済みエラーが出たり、PDFが開けなかったりするときに、生成処理とHTTPでの返却を分けて原因を調べる方法を紹介します。BOM・空白・デバッグ出力・PHP警告の混入を比較し、出力バッファーやdebug設定による違い、ログで出力元を特定する手順を解説します。
PhpSpreadsheetでExcelの日付・日時を読み込む:数値・文字列・空欄の扱い方
2026.11.06
PhpSpreadsheetでExcelの日付・日時を読み込み、取り込み先の形式へ変換する方法を解説します。セルの値・型・表示形式の違いを整理し、数値と文字列の混在、空欄、不正な日付、時刻部分を扱うPHPコードを紹介。1900・1904日付システムとタイムゾーンの注意点も確認します。
php -rの使い方:PowerShellでPHPを手軽に試す
2026.11.04
PHPファイルを作らずにコードを実行できる「php -r」の基本的な使い方を紹介します。PowerShellで変数や関数を試す例と、引用符による変数展開でエラーになる原因・対処法を説明し、Bashとの違いやPHPファイルへ切り出す目安も補足します。
PHP cURLの証明書エラー:VERIFYPEERを無効にする危険性とCAバンドルの設定方法
2026.11.02
PHPのcURLで「unable to get local issuer certificate」が出たとき、CURLOPT_SSL_VERIFYPEERをfalseにする対処が危険な理由を解説します。証明書の信頼性検証とホスト名照合の違いを整理し、WindowsでのCAバンドルの取得、curl.cainfoの設定、反映確認までを紹介します。