
WPホームページ研究所運営サポートチーム監修のオムスビ(@OMUSUVIcom)です。
PHPで処理を書いていると配列で値を扱う場面が増えてきます。配列は複数の値を格納できるからですね。
目次
PHPで配列値を1文字ずつダブルクオーテーションで囲んでカンマ区切りで書き出す方法
では念のために配列について整理しておきましょう。変数(fruits)に配列型で文字を代入した例です。
変数に配列型で文字を代入する
$fruitsという名前の変数に「いちご」「マスカット」「ぶどう」という文字を代入しています。
<?php
$fruits = array("いちご","マスカット","ぶどう");
?>
配列型を文字型でechoした場合
ちなみに配列型をそのままechoするとエラーが出ます。
<?php
$fruits = array("いちご","マスカット","ぶどう");
echo $fruits;
?>
配列型の変数を「文字列型」で出力しようとするために表示されるエラーですね。
出力の型が違うというエラー
ちなみに「Notice: Array to string conversion」はエラーというより「出力の型が違います」というメッセージ。配列型で格納された変数なのでそれぞれを出力する場合は少し違った書き方をしなければなりません。
配列型を正しく出力する書き方
以下の通りにechoするとエラーは表示されません。
<?php
$fruits = array("いちご","マスカット","ぶどう");
echo $fruits[0];
echo $fruits[1];
echo $fruits[2];
?>
配列は「0」から順番に保存されるので「0」がいちご、「1」がマスカット、「2」がぶどうとなります。
ダブルクォーテーションとカンマで区切って出力する方法
そして最後に配列に格納された値をダブルクォーテーションとカンマで区切られた状態で出力する方法。
<?php
$fruits = array("いちご","マスカット","ぶどう");
$results = implode ( ",", preg_replace ( '/^(.*?)$/', '"$1"', $fruits ) );
echo $results;
?>
出力した結果が以下です。
ちなみに変数はその都度代入されるので同じ名前を使っても構いません。
<?php
$fruits = array("いちご","マスカット","ぶどう");
$fruits = implode ( ",", preg_replace ( '/^(.*?)$/', '"$1"', $fruits ) );
echo $fruits;
?>
さきほどの例では「$fruits」と「$results」であえてわかりやすくわけて書きましたがどちらでも結果は同じ。
変数名は分けておくと処理を追いかけやすいです。イコールは代入なので常に上書きされていきます。
まとめ
本日は「PHPの配列値をダブルクォーテーションで括ってカンマ区切りで出力する方法」を解説いたしました。
実際のシステム開発では「配列型で格納されたデータ」から「必要な形に整えて出力する」ことが多いです。当然ですが、状況によっては必要な型のデータも違うので取り出した後に最適化して使っていきます。
データの扱い方を覚えるとさまざまな形に流用できるのでぜひ覚えてくださいませ。
補足
PHPの配列データを「単純なカンマ区切り」に変換する方法は以下です。
<?php
$fruits = array("いちご","マスカット","ぶどう");
$results = implode(',', $fruits);
echo $results;
?>
状況に応じてさまざまな出力状態へ変換して使いまわしていきましょう。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する