こんにちは、Ryohei(@ityryohei)です!

本記事では、PHPのimplodeで文字列をダブルクォーテーションで囲んで出力する方法をご紹介しています。

PHPのimplodeで配列を文字列にするときに配列要素の値をダブルクォーテーションで囲んで出力するにはどうすればいいんだろう?

上記の疑問にお答えします。

では、解説していきます。

implodeで文字列をダブルクォーテーションで囲んで出力する

implodeで文字列をダブルクォーテーションで囲んで出力するには、下記のPHPを実行します。

PHP

<?php

$array = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];

$result = implode('", "', $array);


echo '"'.$result.'"';

上記の実行結果は下記の通りです。

実行結果

"a", "b", "c", "d", "e", "f", "g"

implodeの第1引数に", "を指定することで、配列から文字列に変換する際に区切り文字を下記のように出力することができます。

a", "b", "c", "d", "e", "f", "g

後は先頭と末尾にダブルクォーテーションを追加することで、implodeで文字列をダブルクォーテーションで囲んで出力することが可能となります。

本記事の内容が必要になるケースは少ないですが、例えばPHPの配列の値を文字列に変換し、JavaScript等に渡す際に便利です。

下記例では、data属性の値にimplodeの出力結果を使用するため、配列の区切り文字にシングルクォーテーションを指定しています。

<?php

$array = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
$result = implode("', '", $array);

?>

<ul class="block" data-list="['<?= $result; ?>']"></ul>
<script>
    const block = document.querySelector('.block');
    console.log(block.dataset.list);
</script>

実行結果は下記の通りです。

['a', 'b', 'c', 'd', 'e', 'f', 'g']

良い感じに出力されていますね。

最後に

本記事の内容が必要になるケースは稀ですが、出力結果をダブルクォーテーション以外のもので囲むことができるため、implodeの用途の幅が広がります。一つの知識として覚えておくと、いつか役に立つかもしれませんね。

以上、PHPのimplodeで文字列をダブルクォーテーションで囲んで出力する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。