技術資料

PHPで文字列をスペースで区切って配列に変換するテクニック

作成日:2025.02.09

PHP

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制作会社様向け業務案内、一般企業様向け業務案内もご覧くださいね。

【2026年10月24日時点】PHP2Shell対策:レンタルサーバー利用者が確認したい5つのこと

2026.10.24

PHP2Shellへの対応で、自社サイトの何を確認すればよいか迷うWeb担当者向けに、確認する順序を解説します。さくら・エックスサーバー・ロリポップ!の公式案内をもとに、利用者に必要な作業の判断、サイトの点検、問い合わせ文、古いPHPの更新を計画する際の注意点をまとめました。

PHP PHP2Shell

PHPで外部APIのフォールバックとキャッシュを実装する:該当なしと通信失敗を分けて扱う

2026.10.23

外部APIの「該当なし」と通信失敗を区別し、代替APIへ切り替える条件と取得結果のキャッシュをPHPで実装します。架空の商品情報APIを使い、問い合わせ回数・待ち時間の制限、キャッシュの有効期限・無効化、モックによる動作確認を解説します。

PHP

Laravelのコードレビューで遅いSQLの候補を洗い出す

2026.10.02

Laravelのコードレビューで、ループ内のDBアクセスやEloquentのN+1、大量取得、検索条件とインデックスなど、性能問題につながりやすい箇所を候補として洗い出します。Laravelで発行SQLと実行時間を確認し、MySQLのEXPLAINや実データに近い環境での計測へつなげる方法を紹介します。コードレビューだけではSQLの実行時間を断定できない点も説明します。

Laravel MySQL PHP

Windows 11でDocker Composeを使ってLaravel環境を作る:Container・Volume・Networkの基本

2026.10.01

Windows 11のDocker Desktop上に、DockerfileとDocker Composeを使ってLaravel・PHP・MySQL・Mailpitの開発環境を構築します。ImageとContainerの関係、Bind MountとNamed Volumeによるデータの保存、ポート公開とContainer間通信の違いを実例で確認。LaravelからMySQLへ接続するときに、localhostではなくService名を使う理由も説明します。

Docker Laravel PHP

阿部辰也へのお仕事の依頼・お問い合わせ

軽いご相談もお気軽にどうぞ!

個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP