PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

【PHP】文字列配列の括弧や引用符を削除して、1つの文字列として表示する方法

PHPでJSON形式の文字列配列を扱う際、["John Doe","David Miller","Adam Smith"]のように角括弧や二重引用符が含まれたまま表示されてしまうことがあります。本記事では、これらの余分な文字を取り除き、カンマ区切りの1つの文字列として整形して出力する方法を解説します。

処理前の文字列配列

たとえば、次のような文字列があるとします。

$full_name= '["John Doe","David Miller","Adam Smith"]';

期待する出力結果

この文字列から括弧と引用符を除去し、以下のような読みやすい1つの文字列に変換するのが目的です。

John Doe, David Miller, Adam Smith

使用する関数

この変換を実現するには、主に以下の関数を組み合わせて使用します。

  • json_decode():JSON形式の文字列をPHPの配列に変換します。
  • array_map():各要素に対してtrim()を適用し、余分な空白を除去します。
  • array_filter():空の要素を配列から取り除きます。
  • implode():配列の要素を指定した区切り文字で連結し、1つの文字列にします。

サンプルコード

実際のPHPコードは以下の通りです。

<!DOCTYPE html>
<html>
<body>
<?php
$full_name= '["John Doe","David Miller","Adam Smith"]';
$full_name = json_decode($full_name);
$filterData = array_filter(array_map('trim', $full_name));
$output = implode(', ', $filterData);
echo "The Result in one string=",$output;
?>
</body>
</html>

コードの解説

  1. json_decode($full_name)で、JSON形式の文字列をPHPの配列へ変換します。
  2. array_map('trim', ...)により、各要素の前後にある不要な空白を削除します。
  3. array_filter()で、空文字列となった要素を除外します。
  4. implode(', ', ...)を使って、残った要素を「, 」(カンマ+スペース)で連結し、1つの文字列を生成します。

出力結果

上記のコードを実行すると、以下の出力が得られます。

The Result in one string=John Doe, David Miller, Adam Smith

このように、json_decode()とimplode()を組み合わせることで、JSON形式の配列データを簡単に整形された文字列へ変換できます。APIレスポンスの加工やCSV形式への変換など、実務でも頻繁に活用できるテクニックです。

  1. JavaScriptで文字列を文字配列に変換する方法をわかりやすく解説

    JavaScriptで文字列を文字配列として扱いたい場面は多くあります。本記事では、substring()メソッドを使って文字列を1文字ずつ取り出し、文字配列のように処理する基本的な方法を解説します。 substring()メソッドを使った変換方法 substring()は、文字列の中から指定した範囲の部分文字列を抽出できるJavaScriptの標準メソッドです。開始位置iから終了位置i + 1までを指定することで、文字列を先頭から順番に1文字ずつ取得できます。 サンプルコード 以下のコードを実行すると、文字列「Amit」が1文字ずつアラートで表示され、文字配列のように扱えていることが

  2. 【Android】文字列配列から重複する共通文字を削除し、一意の文字だけを抽出する方法

    はじめに この記事では、Androidアプリ開発において、文字列配列の要素から重複する(共通の)部分を取り除き、一意な文字だけを抽出して画面に表示する方法を解説します。サンプルコードでは、まず配列内の重複した文字列をHashMapとHashSetを使って整理し、続いて各文字列を構成する文字の中から重複を排除した文字の一覧を作成します。 手順1:Android Studioで新規プロジェクトを作成する Android Studioを起動し、メニューから「File → New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成してください。 手順2:レイアウトフ