PHPで配列・辞書を文字列化 (コラム)


PHPで配列・辞書を文字列化

PHPの標準ライブラリには、配列辞書を、
インデックスやキーを用いたフォーマット文字列を使って、
文字列表現にする関数が存在しません。

ないものは自作する必要があります。
簡単な手法でできるので、この記事でご紹介します。

関数

フォーマット文字列には、{インデックス/キー}という形式を使います。

<?php
function format_str(Array $dict_items, String $formatter) : String{
    $result = $formatter;
   foreach($dict_items as $k => $v){
       $result = str_replace("{{$k}}", "{$v}", $result);
   }
   return $result;
}
?>

実際の使用例

<?php
function format_str(Array $dict_items, String $formatter) : String{
    $result = $formatter;
   foreach($dict_items as $k => $v){
       $result = str_replace("{{$k}}", "{$v}", $result);
   }
   return $result;
}

echo "辞書の出力 => ";
echo format_str([
    "name" => "Akira",
    "age" => 32,
    "gender" => "male"
], "{name} : {age}, {gender}.");
echo "<br/>";
echo "配列の出力 => ";
echo format_str(["A", "B",  "C"], "{0} {1} and {2}");
?>

  • このエントリーをはてなブックマークに追加

PAGE TOP